:root{--jm-bg:#0f0f0f;--jm-bg-deep:#0b0b0b;--jm-surface:#141414;--jm-surface-soft:#191919;--jm-text:#f5f5f5;--jm-muted:#b5b5b5;--jm-gold:#b89357;--jm-gold-bright:#caa76b;--jm-gold-ink:#caa76b;--jm-green:#77bf9c;--jm-red:#e08a80;--jm-border:#2a2a2a;--jm-header-border:#ffffff0d;--jm-shadow:#0000004d;--jm-font:"Be Vietnam Pro",sans-serif}@media (prefers-color-scheme:light){:root{--jm-bg:#f6f4ef;--jm-bg-deep:#efe9df;--jm-surface:#fff;--jm-surface-soft:#fbf9f5;--jm-text:#141414;--jm-muted:#4b4b4b;--jm-gold:#b89357;--jm-gold-bright:#9a7a44;--jm-gold-ink:#7d6233;--jm-green:#2f6b4f;--jm-red:#a3392e;--jm-border:#1414142e;--jm-header-border:#1414141a;--jm-shadow:#1414141f}}
html{scroll-behavior:smooth}:root{--bg-color:var(--jm-bg);--bg2-color:var(--jm-bg-deep);--surface-color:var(--jm-surface);--surface2-color:#0f0f0f;--text-color:var(--jm-text);--secondary-text-color:var(--jm-muted);--gold:var(--jm-gold);--gold2:var(--jm-gold-bright);--primary-color:var(--gold2);--border-color:var(--jm-border);--header-border:var(--jm-header-border);--card-bg:var(--surface-color);--border-radius:18px;--transition-speed:.3s;--shadow-1:var(--jm-shadow);--shadow-2:#0006;--shadow-3:#00000080;--overlay-50:#00000080;--overlay-60:#0009;--overlay-70:#000000b3;--overlay-85:#000000d9}@media (prefers-color-scheme:light){:root{--bg-color:var(--jm-bg);--bg2-color:var(--jm-bg-deep);--surface-color:var(--jm-surface);--surface2-color:#fbf9f5;--text-color:var(--jm-text);--secondary-text-color:var(--jm-muted);--gold:var(--jm-gold);--gold2:var(--jm-gold-bright);--primary-color:var(--gold);--border-color:var(--jm-border);--header-border:var(--jm-header-border);--shadow-1:var(--jm-shadow);--shadow-2:#14141429;--shadow-3:#14141433;--overlay-50:#14141414;--overlay-60:#1414141a;--overlay-70:#1414141f;--overlay-85:#14141424}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:linear-gradient(180deg,var(--bg-color)0%,var(--bg2-color)100%);color:var(--text-color);font-family:Be Vietnam Pro,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{color:var(--text-color);font-weight:600}h2{text-align:center;margin-bottom:1rem;font-size:2rem}header{background-color:var(--bg-color);z-index:999;border-bottom:1px solid var(--header-border);justify-content:flex-start;align-items:center;gap:2rem;padding:2rem 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}header .nav-menu{justify-content:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}header .nav-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.btn-secondary{border-radius:var(--border-radius);color:var(--primary-color);border:2px solid var(--primary-color);transition:background-color var(--transition-speed),color var(--transition-speed);letter-spacing:.5px;text-transform:uppercase;background-color:#0000;padding:.55rem 1.2rem;font-size:.85rem;font-weight:600;display:inline-block}.btn-secondary:hover{background-color:var(--primary-color);color:var(--bg-color)}.btn-primary{background-color:var(--primary-color);color:var(--bg-color);border-radius:var(--border-radius);transition:background-color var(--transition-speed),transform var(--transition-speed);letter-spacing:.5px;text-transform:uppercase;padding:.75rem 2rem;font-size:.85rem;font-weight:600;display:inline-block}.btn-primary:hover{background-color:var(--gold);transform:translateY(-2px)}.header-cta{letter-spacing:.5px;text-transform:uppercase;font-size:.85rem}.nav-actions-desktop{align-items:center;gap:.75rem;margin-left:auto;display:flex}.nav-actions-mobile{display:none}@media (max-width:900px){.nav-actions-desktop{display:none}.nav-actions-mobile{flex-direction:column;align-items:center;gap:1rem;width:100%;margin-top:2rem;display:flex}.nav-actions-mobile .btn-primary,.nav-actions-mobile .btn-secondary{text-align:center;width:90%;max-width:320px;padding:1rem 0;font-size:1.1rem}}.logo{color:var(--primary-color);align-items:center;gap:.5rem;display:flex}.logo img{width:auto;height:40px;transition:transform var(--transition-speed)}.logo img:hover{transform:scale(1.15)}.nav-menu ul{gap:1.5rem;list-style:none;display:flex}.nav-menu ul li a{color:var(--secondary-text-color);text-transform:uppercase;letter-spacing:1px;transition:color var(--transition-speed);font-size:.9rem;position:relative}.nav-menu ul li a:after{content:"";background-color:var(--primary-color);width:0;height:2px;transition:width var(--transition-speed);position:absolute;bottom:-4px;left:0}.nav-menu ul li a:hover:after,.nav-menu ul li a.active:after{width:100%}.nav-menu ul li a:hover{color:var(--primary-color)}.hamburger{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:28px;height:22px;display:none}.hamburger .bar{background:var(--primary-color);width:28px;height:2px;transition:transform var(--transition-speed)ease,opacity var(--transition-speed)ease;transform-origin:50%}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:0 2rem;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;z-index:-1;filter:brightness(30%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-overlay{background:linear-gradient(135deg,color-mix(in oklab,var(--surface-color)92%,transparent)0%,var(--bg-color)100%);z-index:-2;width:100%;height:100%;position:absolute;top:0;left:0}@media (prefers-color-scheme:light){.hero-video{filter:brightness(88%)contrast(108%)saturate(108%)}.hero-overlay{background:linear-gradient(#ffffff8c 0%,#ffffff47 55%,#ffffff1a 100%)}.hero-content{background:#ffffffe6;border:1px solid #1414141a;border-radius:24px;max-width:860px;padding:5.5rem 2rem 2.25rem;box-shadow:0 22px 60px #14141424}.hero-kicker{color:#1414149e}.hero-content h1{color:var(--text-color)}.hero-content p{color:color-mix(in oklab,var(--text-color)82%,transparent)}}.hero-content{max-width:860px;padding-top:6rem}.hero-kicker{letter-spacing:.22em;text-transform:uppercase;color:color-mix(in oklab,var(--secondary-text-color)86%,transparent);margin-bottom:12px;font-size:12px;font-weight:900}.hero-content h1{margin-bottom:1rem;font-size:2.5rem}.hero-content p{color:var(--secondary-text-color);margin-bottom:2rem;font-size:1.1rem}.services{background-color:var(--bg-color);text-align:center;padding:5rem 2rem 3rem}.services .service-cards{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2rem;display:flex}.service-card{background-color:var(--card-bg);border-radius:var(--border-radius);text-align:center;width:280px;box-shadow:0 2px 8px var(--shadow-1);transition:transform var(--transition-speed);padding:1.5rem}.service-card:hover{transform:translateY(-5px)}.service-card i{display:none}.service-card .service-image{object-fit:cover;border-radius:var(--border-radius)var(--border-radius)0 0;width:100%;height:150px;margin-bottom:1rem}.service-card h3{margin-bottom:.5rem;font-size:1.3rem}.service-card p{color:var(--secondary-text-color);font-size:.95rem}.projects{background-color:var(--surface-color);text-align:center;padding:5rem 2rem;overflow:hidden}.projects .section-subtitle{color:var(--secondary-text-color);margin-bottom:2rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;width:80%;max-width:1400px;margin:0 auto;display:grid}.project-item{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow-1);cursor:pointer;transition:transform var(--transition-speed);text-align:left;flex-direction:column;display:flex;overflow:hidden}.project-item:hover{transform:translateY(-5px)}.project-image{background:radial-gradient(circle at center,color-mix(in oklab,var(--border-color)70%,transparent)0%,var(--surface-color)100%);width:100%;height:180px;color:var(--secondary-text-color);justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex;position:relative}.project-image img{object-fit:cover;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);width:100%;height:100%}.project-item h3{color:var(--text-color);padding:1rem;font-size:1.1rem}.gallery-modal{background-color:var(--overlay-85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;display:none;position:fixed;top:0;left:0}.gallery-modal.active{display:flex}.gallery-content{width:80vw;max-width:1000px;aspect-ratio:var(--image-aspect-ratio,16/9);background-color:var(--card-bg);border-radius:var(--border-radius);flex-direction:column;justify-content:center;align-items:center;max-height:90vh;padding:1rem;display:flex;position:relative;overflow:hidden}.gallery-display{flex:1;width:100%;height:100%;position:relative;overflow:hidden}.gallery-display img{object-fit:cover;width:100%;height:100%;display:none}.gallery-close,.gallery-prev,.gallery-next{background:var(--overlay-50);color:var(--text-color);border-radius:var(--border-radius);cursor:pointer;z-index:1;transition:background-color var(--transition-speed);border:none;padding:.5rem .75rem;font-size:1.8rem;position:absolute}.gallery-close:hover,.gallery-prev:hover,.gallery-next:hover{background:var(--overlay-70)}.gallery-close{top:22px;right:30px}.gallery-prev{top:50%;left:28px;transform:translateY(-50%)}.gallery-next{top:50%;right:28px;transform:translateY(-50%)}.gallery-display{position:relative}.gallery-display img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-display img.active{display:block}.reviews{background-color:var(--surface-color);text-align:center;padding:5rem 2rem}.reviews-container{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2rem;display:flex}.review-card{background-color:var(--card-bg);border-radius:var(--border-radius);width:280px;transition:transform var(--transition-speed);padding:2rem;box-shadow:0 2px 8px #0000004d}.review-card:hover{transform:translateY(-5px)}.reviews-wrap{max-width:1100px;margin:0 auto}.reviews-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.reviews-rating{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.reviews-score{letter-spacing:-.02em;color:var(--text-color);font-size:32px;font-weight:900}.reviews-stars{color:var(--primary-color);letter-spacing:.06em;font-weight:900}.reviews-count{color:var(--secondary-text-color);font-size:14px}.reviews-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.reviews-note{color:var(--secondary-text-color);margin-top:14px}.reviews-note a{color:var(--primary-color);font-weight:900;text-decoration:none}.reviews-note a:hover{text-decoration:underline}.reviews-grid .review-card{background:color-mix(in oklab,var(--card-bg)85%,transparent);border:1px solid var(--border-color);width:auto;box-shadow:0 10px 30px var(--shadow-1);flex-direction:column;gap:8px;padding:16px;display:flex}.reviews-grid .review-stars{color:var(--primary-color);letter-spacing:.08em;font-size:12px;font-weight:900}.reviews-grid .review-quote{color:var(--text-color);line-height:1.55}.reviews-grid .review-meta{color:var(--secondary-text-color);margin-top:auto;font-size:13px;font-weight:800}.reviews-grid .review-time{opacity:.85;font-weight:700}.reviews-grid .review-card .review-quote{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reviews-grid .review-card.expanded .review-quote{-webkit-line-clamp:unset;overflow:visible}.reviews-grid .review-more{color:var(--primary-color);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:11px;font-weight:900}.reviews-grid .review-more:hover{text-decoration:underline}@media (max-width:900px){.reviews-grid{grid-template-columns:1fr}.reviews-summary{justify-content:center}}.review-card .stars{margin-bottom:.5rem}.review-card .stars i{color:var(--primary-color);margin-right:.1rem}.review-card p{color:var(--secondary-text-color);margin-bottom:.75rem;font-size:.9rem}.review-card h4{color:var(--primary-color);font-size:.9rem;font-weight:600}.clients{background-color:var(--bg-color);text-align:center;padding:5rem 2rem;overflow:hidden}.client-marquee{border:1px solid var(--border-color);border-radius:var(--border-radius);background:color-mix(in oklab,var(--surface2-color)75%,transparent);max-width:1100px;box-shadow:0 10px 30px var(--shadow-1);margin:2rem auto 0;overflow:hidden}.marquee-track{align-items:center;gap:22px;width:max-content;padding:18px 14px;animation:22s linear infinite marquee;display:flex}.marquee-group{align-items:center;gap:22px;display:flex}.client-marquee img{opacity:.9;filter:grayscale();width:auto;height:44px;transition:opacity .2s,filter .2s}.client-marquee img:hover{opacity:1;filter:grayscale(0%)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.statistics{background-color:var(--surface-color);text-align:center;padding:5rem 2rem}.stats-grid{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2rem;display:flex}.stat-item{background-color:var(--card-bg);border-radius:var(--border-radius);width:200px;transition:transform var(--transition-speed);box-shadow:none;padding:2rem;position:relative;overflow:hidden}.stat-item:before{content:"";background-color:var(--primary-color);width:100%;height:4px;position:absolute;top:0;left:0}.stat-item:hover{transform:translateY(-5px)}.stat-item i,.stat-item h3{color:var(--primary-color);margin-bottom:.5rem;font-size:2rem}.stat-item p{color:var(--secondary-text-color);font-size:.9rem}.about{background-color:var(--bg-color);flex-wrap:wrap;align-items:center;gap:3rem;padding:5rem 2rem;display:flex}.about-content{text-align:center;flex:100%;max-width:600px;margin:0 auto}.about-content p{color:var(--secondary-text-color);max-width:600px;margin-top:1rem;line-height:1.6}.about-image{flex:300px;justify-content:center;align-items:center;display:flex}.about-image .placeholder{background:radial-gradient(circle at center,color-mix(in oklab,var(--border-color)70%,transparent)0%,var(--surface-color)100%);width:100%;height:250px;color:var(--secondary-text-color);border-radius:var(--border-radius);justify-content:center;align-items:center;display:flex}.contact{background-color:var(--surface-color);text-align:center;padding:5rem 2rem}.contact p{color:var(--secondary-text-color);margin-bottom:2rem}.contact-container{flex-wrap:wrap;justify-content:center;gap:3rem;max-width:1100px;margin:0 auto;display:flex}.contact-form{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 2px 8px var(--shadow-1);flex:350px;padding:2rem}.contact-form .form-group{text-align:left;margin-bottom:1rem}.contact-form label{margin-bottom:.5rem;font-size:.9rem;display:block}.contact-form input,.contact-form textarea{border:1px solid color-mix(in oklab,var(--primary-color)18%,var(--border-color));background-color:color-mix(in oklab,var(--surface2-color)80%,transparent);width:100%;color:var(--text-color);border-radius:14px;padding:.75rem .85rem;font-size:.95rem}.contact-ui{flex-direction:column;gap:12px;display:flex}.contact-consent{color:var(--secondary-text-color);text-align:left;font-size:12px;line-height:1.35}.sms-consent{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:0;display:flex}.contact-form .sms-consent input[type=checkbox]{width:auto;accent-color:var(--gold);flex:none;margin-top:3px}.sms-consent a{color:var(--primary-color);text-underline-offset:2px;text-decoration:underline}.contact-ui button{background:var(--gold);color:#141414;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:14px;padding:12px;font-weight:950}.contact-ui button:hover{filter:brightness(1.03)}.contact-success{margin-top:4px;font-weight:900}.contact-note{color:var(--secondary-text-color);font-size:12px;line-height:1.3}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--primary-color)}.contact-form button{cursor:pointer;border:none;margin-top:1rem}.contact-info{text-align:left;color:var(--secondary-text-color);flex:250px}.contact-info h3{color:var(--text-color);margin-bottom:1rem}.contact-info p{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.contact-info i{color:var(--primary-color)}.social-links{margin-top:1rem}.social-links a{color:var(--primary-color);transition:color var(--transition-speed);margin-right:.8rem;font-size:1.2rem}.social-links a:hover{color:#b89357}footer{background-color:var(--bg2-color);text-align:center;padding:2rem}.service-area{background:linear-gradient(135deg,var(--surface-color)0%,var(--bg2-color)100%);text-align:center;padding:5rem 2rem}.service-area h2{margin-bottom:1rem}.service-area p{color:var(--secondary-text-color);max-width:800px;margin:0 auto 2rem;line-height:1.6}.area-images{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-rows:150px;gap:1rem;max-width:1000px;margin:0 auto;display:grid}.area-images img{object-fit:cover;border-radius:var(--border-radius);width:100%;height:100%;box-shadow:0 4px 12px var(--shadow-2)}.area-images img:first-child{grid-row:span 2}.area-images img:nth-child(2){grid-column:span 2}.area-images img:nth-child(3){grid-area:span 2/span 2}.faq{background-color:var(--bg-color);text-align:center;padding:5rem 2rem}.faq-container{text-align:left;max-width:800px;margin:0 auto}.faq-item{border-radius:var(--border-radius);background-color:var(--card-bg);border:1px solid #333;margin-bottom:1rem;overflow:hidden}.faq-question{width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem;font-size:1rem;font-weight:600;display:flex}.faq-icon{transition:transform var(--transition-speed);margin-left:1rem}.faq-item.active .faq-icon{transform:rotate(180deg)}.faq-answer{background-color:var(--bg-color);max-height:0;padding:0 1rem;transition:max-height .3s;overflow:hidden}.faq-item.active .faq-answer{max-height:200px;padding:1rem}.faq-answer p{color:var(--secondary-text-color);font-size:.9rem}.app-popup{background-color:var(--overlay-60);z-index:9998;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.app-popup.hidden{display:none}.app-popup-content{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 12px var(--shadow-2);text-align:center;width:90%;max-width:400px;padding:2rem;position:relative}.app-popup-content h3{margin-bottom:.5rem}.app-popup-content p{color:var(--secondary-text-color);margin-bottom:1rem}.app-buttons{justify-content:center;gap:1rem;display:flex}.app-popup-close{color:var(--secondary-text-color);cursor:pointer;background:0 0;border:none;font-size:1.5rem;position:absolute;top:.5rem;right:.5rem}.popup-image{aspect-ratio:1;object-fit:cover;border-radius:var(--border-radius);width:100%;max-width:300px;margin:0 auto 1rem;display:block}.footer-content{flex-direction:column;align-items:center;gap:1rem;display:flex}.footer-content p{color:var(--secondary-text-color);font-size:.8rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.footer-nav a{color:var(--secondary-text-color);transition:color var(--transition-speed);font-size:.8rem}.footer-nav a:hover{color:var(--primary-color)}.footer-socials{justify-content:center;gap:12px;margin:0 0 14px;display:flex}.footer-socials a{color:var(--secondary-text-color);font-size:18px}.footer-socials a:hover{color:var(--primary-color)}@media (max-width:768px){.nav-menu ul{flex-direction:column;gap:1rem}.hamburger{margin-left:auto;display:flex}.services .service-cards{flex-direction:column;align-items:center}.about{flex-direction:column}.about-image .placeholder{height:200px}header .nav-menu{background-color:var(--bg-color);width:100vw;max-width:none;transition:transform var(--transition-speed)ease;padding-top:calc(env(safe-area-inset-top,0px) + 60px);z-index:998;flex-direction:column;display:flex;position:fixed;inset:0;transform:translate(100%)}header .nav-menu.active{transform:translate(0)}header .nav-menu ul{flex-direction:column;gap:1rem}header .hamburger{z-index:999;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.hamburger.active .bar:first-child{transform:translateY(6px)rotate(45deg)}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@keyframes scroll-logos-mobile{0%{transform:translate(0)}to{transform:translate(-100%)}}}.gallery-hero{text-align:center;background-image:url(/images/gallery/gallery-92.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:40vh;padding:4rem 2rem;display:flex;position:relative}.gallery-container .gallery-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1rem;width:80%;max-width:none;margin:2rem auto 0;padding:0 1rem;display:grid}.gallery-container .gallery-grid img{object-fit:cover;border-radius:var(--border-radius);width:100%;box-shadow:0 2px 8px #0000004d}.blog-hero{text-align:center;background-image:url(/images/blog-hero.png);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:40vh;padding:4rem 2rem;display:flex;position:relative}.blog-hero:before{content:"";z-index:0;background:#00000080;width:100%;height:100%;position:absolute;top:0;left:0}.blog-hero h1{z-index:1;color:var(--text-color);font-size:2.5rem;position:relative}.gallery-hero:before{content:"";z-index:0;background:#00000080;width:100%;height:100%;position:absolute;top:0;left:0}.gallery-hero h1{z-index:1;color:var(--text-color);font-size:2.5rem;position:relative}.blog-container{background-color:var(--bg-color);max-width:1100px;margin:0 auto;padding:5rem 2rem}.featured-post{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 12px var(--shadow-3);flex-wrap:wrap;margin-bottom:2rem;display:flex;overflow:hidden}.featured-post img{object-fit:cover;flex:300px;width:100%;max-height:250px}.featured-post-content{flex-direction:column;flex:300px;justify-content:center;padding:1.5rem;display:flex}.featured-post-content h2{color:var(--primary-color);margin-bottom:.5rem}.featured-post-content p{color:var(--secondary-text-color);margin-bottom:1rem;line-height:1.6}.blog-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.blog-post{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 12px var(--shadow-2);transition:transform var(--transition-speed);overflow:hidden}.blog-post:hover{transform:translateY(-5px)}.blog-post img{object-fit:cover;width:100%;height:150px}.blog-post h3{color:var(--primary-color);padding:1rem;font-size:1.3rem}.blog-post p{color:var(--secondary-text-color);padding:0 1rem 1rem;font-size:.9rem;line-height:1.5}.clients{padding-bottom:2rem!important}@media (max-width:768px){.nav-menu ul{flex-direction:column;align-items:center;gap:2rem;padding:2rem 0;display:flex}.nav-menu ul li a{text-align:center;font-size:2rem}}.blog-container{padding-top:8rem}@media (max-width:768px){.contact-info{text-align:center;flex:100%}.contact-info p{justify-content:center}}.contact-info a{color:inherit;text-decoration:none;transition:color .3s}.contact-info a:hover{color:var(--primary-color);text-decoration:underline}html,body{height:100%}body{flex-direction:column;min-height:100vh;margin:0;display:flex}footer{flex-shrink:0;margin-top:auto}#app-popup{display:none!important}:root{--header-offset:100px}[id]{scroll-margin-top:var(--header-offset)}@media (max-width:768px){.gallery-container .gallery-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;width:100%;margin:0 auto;padding:1rem .5rem;display:grid}.gallery-container .gallery-grid img{object-fit:cover;border-radius:var(--border-radius);height:160px}.gallery-close,.gallery-prev,.gallery-next{display:none!important}}.body-modal-open{touch-action:none;overscroll-behavior:contain;width:100vw;position:fixed;overflow:hidden}@media (max-width:768px){.nav-actions{flex-direction:column;align-items:center;gap:1rem;width:100%;margin-top:2rem;display:flex}.nav-actions .btn-primary,.nav-actions .btn-secondary{text-align:center;width:90%;max-width:320px;padding:1rem 0;font-size:1.1rem}}.policy-page{text-align:left;max-width:900px;margin:8rem auto 4rem;padding:6rem 2rem 4rem}.policy-page h1,.policy-page h2,.policy-page p,.policy-page ul{margin-bottom:1.5rem;line-height:1.7}.policy-page ul{padding-left:1.5rem}.jm-social a{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.jm-social a .icon{fill:currentColor;width:20px;height:20px}.jm-social a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;color:var(--primary-color)}@media (max-width:480px){.jm-social{flex-wrap:wrap}}.jm-social-rail{z-index:900;background:var(--bg2-color);background:color-mix(in srgb,var(--bg2-color)92%,transparent);border:1px solid var(--border-color);box-shadow:0 8px 24px var(--shadow-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-right:0;border-radius:999px 0 0 999px;flex-direction:column;align-items:center;gap:6px;margin:0;padding:10px 6px;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.jm-social-rail a{width:44px;height:44px;color:var(--secondary-text-color);transition:color var(--transition-speed)ease,background-color var(--transition-speed)ease,transform var(--transition-speed)ease;border-radius:50%;justify-content:center;align-items:center;display:flex}.jm-social-rail a:hover{color:var(--primary-color);transform:translate(-2px)}.jm-social-rail a .icon{fill:currentColor;width:20px;height:20px}.jm-social-rail a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;color:var(--primary-color)}@media (max-width:480px){.jm-social-rail{gap:4px;padding:6px 4px;top:auto;bottom:118px;transform:none}.jm-social-rail a{width:38px;height:38px}.jm-social-rail a .icon{width:17px;height:17px}}@media (prefers-reduced-motion:reduce){.jm-social-rail a{transition:none}.jm-social-rail a:hover{transform:none}}
