@font-face{font-family:Syne;src:url(/fonts/Syne/Syne-VariableFont_wght.ttf) format("truetype");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter/Inter-VariableFont_opsz,wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #fdfdfd;--surface: #f1f4f8;--surface-hover: #e2e8f0;--text: #050b14;--text-muted: #64748b;--ink-accent: #0f2766;--ink-accent-hover: #0a1a4a;--ink-light: #e0e7ff;--radius-xl: 32px;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 8px;--shadow-sm: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -1px rgba(15, 23, 42, .03);--shadow: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -2px rgba(15, 23, 42, .04);--shadow-hover: 0 20px 25px -5px rgba(15, 23, 42, .12), 0 10px 10px -5px rgba(15, 23, 42, .08);--max-w: 1440px;--font-heading: "Syne", sans-serif;--font-body: "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden;background-color:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--text);margin-bottom:.5em}p{margin-bottom:1rem}a{color:var(--ink-accent);text-decoration:none;transition:color .3s ease}a:hover{color:var(--ink-accent-hover)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit}.container{max-width:var(--max-w);margin:0 auto;padding:0 clamp(24px,5vw,80px);width:100%}.section{padding:clamp(80px,15vh,180px) 0;position:relative}.section-bg{background-color:var(--surface);border-radius:var(--radius-xl);margin:20px clamp(10px,2vw,40px);padding:clamp(60px,10vh,120px) 0}.grid-2{display:grid;grid-template-columns:1fr;gap:clamp(40px,8vw,80px)}.grid-3{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,64px)}.grid-4{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.site-header{position:fixed;top:0;left:0;right:0;background:#fdfdfdcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:210;transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s ease,border-bottom .4s ease;border-bottom:1px solid rgba(0,0,0,0)}.site-header.scrolled{border-bottom:1px solid rgba(0,0,0,.05);background:#fdfdfdf2}.nav-shell{display:flex;align-items:center;justify-content:space-between;height:clamp(80px,10vh,100px)}.brand-link{font-family:var(--font-heading);font-size:clamp(1.1rem,2.5vw,1.75rem);font-weight:800;color:var(--ink-accent);letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}.site-nav{display:flex;gap:3rem;align-items:center}.site-nav-desktop{display:none}@media(min-width:1401px){.site-nav-desktop{display:flex;gap:3rem;align-items:center}.site-nav{display:none!important}}.site-nav a,.site-nav-desktop a{font-size:.95rem;font-weight:600;color:var(--text);position:relative;padding:8px 0;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-body);transition:color .3s ease}.site-nav a:after,.site-nav-desktop a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--ink-accent);transition:width .3s cubic-bezier(.76,0,.24,1)}.site-nav a:hover,.site-nav-desktop a:hover{color:var(--ink-accent)}.site-nav a:hover:after,.site-nav-desktop a:hover:after{width:100%}.nav-link-inner{display:inline}.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--text);cursor:pointer}@media(max-width:1400px){.site-nav{position:fixed;inset:0;background:#050b14;z-index:150;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(100px,14vh,130px) clamp(28px,8vw,100px) clamp(100px,12vh,130px);gap:0;overflow-y:auto;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .65s cubic-bezier(.76,0,.24,1),opacity .4s ease,visibility 0s linear .65s;pointer-events:none}.site-nav[data-open=true]{transform:translateY(0);opacity:1;visibility:visible;pointer-events:all;transition:transform .65s cubic-bezier(.76,0,.24,1),opacity .3s ease,visibility 0s linear 0s}.site-nav a{display:block;font-size:clamp(2rem,7.5vw,5rem);font-weight:800;letter-spacing:-.04em;text-transform:uppercase;color:#ffffff2e;line-height:1.2;overflow:hidden;position:relative;width:100%;border-bottom:none;text-align:left;transition:color .35s ease;padding:.1em 0}.site-nav a:hover{color:#fff}.site-nav a:after{display:none}.site-nav a .nav-link-inner{display:block;transform:translateY(115%);transition:transform .7s cubic-bezier(.16,1,.3,1)}.site-nav[data-open=true] a .nav-link-inner{transform:translateY(0)}.site-nav[data-open=true] a:nth-child(1) .nav-link-inner{transition-delay:.1s}.site-nav[data-open=true] a:nth-child(2) .nav-link-inner{transition-delay:.16s}.site-nav[data-open=true] a:nth-child(3) .nav-link-inner{transition-delay:.22s}.site-nav[data-open=true] a:nth-child(4) .nav-link-inner{transition-delay:.28s}.site-nav[data-open=true] a:nth-child(5) .nav-link-inner{transition-delay:.34s}.nav-menu-footer{position:absolute;bottom:clamp(24px,5vh,56px);left:clamp(28px,8vw,100px);right:clamp(28px,8vw,100px);display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;opacity:0;transform:translateY(12px);transition:opacity .45s ease .38s,transform .45s ease .38s}.site-nav[data-open=true] .nav-menu-footer{opacity:1;transform:translateY(0)}.nav-menu-footer>div{display:flex;flex-direction:column;gap:4px}.nav-menu-footer p{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;margin:0}.nav-menu-footer a{font-family:var(--font-body);font-size:.85rem;font-weight:700;color:#ffffff8c;letter-spacing:.03em;display:inline-block;transition:color .3s ease;margin:0;text-transform:none}.nav-menu-footer a:hover{color:#fff}.nav-toggle{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;position:relative;z-index:201;padding:0;flex-shrink:0}.nav-toggle-line{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .45s cubic-bezier(.76,0,.24,1),opacity .3s ease,width .45s cubic-bezier(.76,0,.24,1),background .3s ease;transform-origin:center center}.nav-toggle-line:nth-child(1){width:28px}.nav-toggle-line:nth-child(2){width:20px}.nav-toggle-line:nth-child(3){width:24px}.nav-toggle[aria-expanded=true] .nav-toggle-line{background:#ffffffe6}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(1){width:28px;transform:translateY(7px) rotate(-45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(2){opacity:0;width:0}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(3){width:28px;transform:translateY(-7px) rotate(45deg)}.nav-shell>.btn{display:none}}.kicker{display:inline-block;color:var(--ink-accent);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:24px;background:var(--ink-light);padding:8px 16px;border-radius:100px;border:1px solid rgba(15,39,102,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 40px;font-weight:600;font-size:1rem;color:#fff;background-color:var(--ink-accent);border-radius:100px;border:none;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;line-height:1;position:relative;overflow:hidden;z-index:1;font-family:var(--font-heading);letter-spacing:.02em}.btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ink-accent-hover);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:-1;border-radius:100px}.btn:hover{transform:translateY(-4px);box-shadow:0 15px 25px -5px #0f276640;color:#fff}.btn:hover:after{transform:scaleY(1);transform-origin:top}.btn-secondary{background-color:transparent;color:var(--text);border:1px solid rgba(0,0,0,.1)}.btn-secondary:after{background-color:var(--surface-hover)}.btn-secondary:hover{color:var(--text);border-color:#0003;box-shadow:none}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:100px;background-color:var(--bg)}.hero-bg{position:absolute;inset:20px;z-index:0;border-radius:var(--radius-xl);overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#050b1459,#050b14eb);z-index:1}.hero-content{position:relative;z-index:2;width:100%;max-width:var(--max-w);padding:0 clamp(24px,5vw,80px);color:#fff;display:flex;flex-direction:column;justify-content:center;height:auto;padding-bottom:0}.hero-title{color:#fff;font-family:var(--font-heading);font-size:clamp(2.2rem,5.5vw,5rem);font-weight:800;line-height:1.1;margin-bottom:24px;text-transform:uppercase;max-width:900px;letter-spacing:-.03em;padding:.1em 0}.hero-lead{font-size:clamp(1.1rem,2vw,1.3rem);color:#ffffffe6;margin-bottom:40px;max-width:550px;font-weight:400;line-height:1.5}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity 1.5s ease-in-out,transform 10s ease-out;transform:scale(1.05)}.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}.slider-effect-slide .hero-slide{transform:translate(60px) scale(1);transition:opacity 1s ease-in-out,transform 1s cubic-bezier(.4,0,.2,1)}.slider-effect-slide .hero-slide.is-active{transform:translate(0) scale(1)}.slider-effect-zoom .hero-slide{transform:scale(1.15);transition:opacity 1.2s ease-in-out,transform 8s ease-out}.slider-effect-zoom .hero-slide.is-active{transform:scale(1)}.section-header{max-width:900px;margin-bottom:clamp(60px,10vw,100px)}.section-title{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1;margin-bottom:24px}.section-lead{font-size:clamp(1.1rem,2vw,1.4rem);color:var(--text-muted);max-width:700px}.card{background:var(--bg);border-radius:var(--radius-xl);padding:clamp(32px,5vw,48px);display:flex;flex-direction:column;height:100%;border:1px solid rgba(0,0,0,.04);transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s cubic-bezier(.16,1,.3,1)}.card.section-bg{background:var(--surface);border:none}.card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -12px #0f27661a}.card-icon{width:80px;height:80px;background:#fff;color:var(--ink-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:32px;box-shadow:0 10px 30px #0000000d;transition:transform .4s cubic-bezier(.16,1,.3,1)}.card:hover .card-icon{transform:scale(1.1) rotate(5deg)}.card h3{font-size:1.75rem;margin-bottom:16px}.card p{color:var(--text-muted);flex-grow:1;font-size:1.1rem}.check-list li{position:relative;padding-left:32px;margin-bottom:12px;color:var(--text);font-weight:500}.check-list li:before{content:"→";position:absolute;left:0;color:var(--ink-accent);font-weight:700}.testimonial-wrap{background:var(--ink-accent);border-radius:var(--radius-xl);padding:clamp(40px,6vw,80px);color:#fff;position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column;justify-content:space-between}.testimonial-wrap:before{content:'"';position:absolute;top:-20px;left:40px;font-size:15rem;color:#ffffff0d;font-family:var(--font-heading);line-height:1}.testimonial-content{position:relative;z-index:1}.testimonial-quote{font-family:var(--font-heading);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600;line-height:1.3;margin-bottom:48px;letter-spacing:-.02em}.testimonial-author{font-weight:700;font-size:1.2rem;margin-bottom:4px}.testimonial-client{color:#fff9;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.portfolio-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:64px}.chip{background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:100px;color:var(--text);cursor:pointer;padding:12px 28px;font-size:.95rem;font-weight:600;transition:all .3s ease;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em}.chip:hover{background:var(--surface);border-color:#0003}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:#fff}.portfolio-columns{column-count:3;column-gap:24px;width:100%}@media(max-width:1024px){.portfolio-columns{column-count:2}}@media(max-width:600px){.portfolio-columns{column-count:1}}.portfolio-item{display:block;width:fit-content;max-width:100%;margin:0 auto 24px;break-inside:avoid;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;max-height:500px;position:relative}.portfolio-item picture{display:block;margin:0;padding:0;line-height:0}.portfolio-img{display:block;width:auto;max-width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:var(--radius-lg);transition:transform .6s cubic-bezier(.16,1,.3,1)}.portfolio-overlay{position:absolute;inset:0;background:#050b1466;backdrop-filter:blur(4px);opacity:0;display:flex;align-items:center;justify-content:center;padding:40px;transition:opacity .5s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.portfolio-item:hover .portfolio-img{transform:scale(1.08)}.portfolio-item:hover .portfolio-overlay{opacity:1}}.portfolio-cat{color:#fff;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.1em;background:#ffffff1a;padding:12px 24px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2);transform:scale(.9);transition:transform .5s cubic-bezier(.16,1,.3,1)}.portfolio-item:hover .portfolio-cat{transform:scale(1)}.process-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;counter-reset:process-counter}.process-list li{position:relative;padding-top:80px;counter-increment:process-counter}.process-list li:before{content:"0" counter(process-counter);position:absolute;top:0;left:0;font-family:var(--font-heading);font-size:4rem;font-weight:800;color:var(--ink-light);line-height:1;transition:color .4s ease}.process-list li:hover:before{color:var(--ink-accent)}.process-list h3{font-size:1.5rem;margin-bottom:16px}.marquee-container{overflow:hidden;white-space:nowrap;width:100%;background:var(--ink-accent);color:#fff;padding:40px 0;display:flex;align-items:center;transform:rotate(-3.5deg) scale(1.08);margin:80px 0}.marquee-content{display:inline-flex;white-space:nowrap}.marquee-item{font-family:var(--font-heading);font-size:clamp(2rem,5vw,4rem);font-weight:800;text-transform:uppercase;margin:0 40px;display:inline-flex;align-items:center;letter-spacing:.02em}.marquee-separator{color:#ffffff4d;margin-left:40px;font-size:clamp(1.5rem,4vw,3rem)}.contact-panel{padding-right:clamp(0px,5vw,80px)}.contact-item{margin-bottom:32px}.contact-item strong{display:block;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px}.contact-item a,.contact-item p{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text)}.contact-item a:hover{color:var(--ink-accent)}.contact-box{background:#fff;border-radius:var(--radius-xl);padding:clamp(32px,5vw,64px);box-shadow:0 40px 80px -20px #0000001a;border:1px solid rgba(0,0,0,.05)}.form-group{margin-bottom:32px}.form-row{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px}@media(min-width:600px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-label{display:block;font-weight:600;margin-bottom:12px;color:var(--text);font-size:.95rem}.form-input{width:100%;padding:20px;background:var(--surface);border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:1.05rem;color:var(--text);transition:all .3s ease}.form-input:focus{outline:none;background:#fff;border-color:var(--ink-accent);box-shadow:0 0 0 4px var(--ink-light)}textarea.form-input{min-height:150px;resize:vertical}.btn-submit{width:100%;padding:24px;font-size:1.2rem}.btn-submit:disabled{opacity:.5;cursor:not-allowed;background-color:var(--text-muted);transform:none;box-shadow:none}.gdpr-group{display:flex;align-items:flex-start;gap:16px;margin:32px 0;padding:24px;background:var(--surface);border-radius:var(--radius-md)}.gdpr-checkbox{appearance:none;background-color:#fff;margin:2px 0 0;font:inherit;color:currentColor;width:24px;height:24px;border:2px solid var(--text-muted);border-radius:6px;display:grid;place-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.gdpr-checkbox:before{content:"";width:12px;height:12px;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em #fff;background-color:#fff;transform-origin:center;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.gdpr-checkbox:checked{background-color:var(--ink-accent);border-color:var(--ink-accent)}.gdpr-checkbox:checked:before{transform:scale(1)}.gdpr-text{font-size:.9rem;color:var(--text-muted);line-height:1.6}.faq-list details{background:var(--surface);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden;transition:all .3s ease}.faq-list details[open]{background:#fff;box-shadow:0 10px 30px #0000000d}.faq-list summary{padding:24px 64px 24px 32px;font-family:var(--font-heading);font-size:1.2rem;font-weight:700;cursor:pointer;list-style:none;position:relative;word-break:break-word}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:32px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--ink-accent);transition:transform .3s ease}.faq-list details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq-list p{padding:0 32px 32px;color:var(--text-muted);font-size:1.1rem}.site-footer{background:var(--text);color:#fff;padding:100px 0 40px;margin-top:120px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:64px}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:40px}}.footer-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin-bottom:24px;color:#fff}.site-footer a{color:#ffffffb3;display:inline-block;margin-bottom:12px}.site-footer a:hover{color:#fff}.site-footer .muted{color:#ffffff80}.legal-row{margin-top:80px;padding-top:40px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.cookie-banner{position:fixed;bottom:32px;left:32px;right:32px;background:var(--text);color:#fff;border-radius:var(--radius-md);padding:32px 40px;box-shadow:0 30px 60px #0006;z-index:9990;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;transform:translateY(150%);transition:transform .6s cubic-bezier(.16,1,.3,1)}.cookie-banner.show{transform:translateY(0)}.cookie-text{flex:1;min-width:300px;font-size:1rem;color:#ffffffb3}.cookie-text strong{color:#fff;display:block;font-family:var(--font-heading);font-size:1.5rem;margin-bottom:12px}.cookie-actions{display:flex;gap:16px}.cookie-actions .btn{background:#fff;color:var(--text)}.cookie-actions .btn:after{background:var(--surface-hover)}.cookie-actions .btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff}.cookie-actions .btn-secondary:hover{background:#ffffff1a;border-color:#fff;color:#fff}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.16,1,.3,1),visibility .4s}.lightbox[aria-hidden=false]{opacity:1;visibility:visible}.lightbox-backdrop{position:absolute;inset:0;background:#050b14eb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);cursor:zoom-out}.lightbox-shell{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;max-width:1400px;max-height:100vh;padding:0 clamp(12px,3vw,40px);box-sizing:border-box;pointer-events:none}.lightbox-shell>*{pointer-events:all}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px;flex-shrink:0}.lightbox-counter{font-family:var(--font-heading);font-size:.85rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#ffffff80}.lightbox-close-btn{width:48px;height:48px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);flex-shrink:0}.lightbox-close-btn:hover{background:#ffffff2e;transform:rotate(90deg) scale(1.1)}.lightbox-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,32px);min-height:0;padding:8px 0}.lightbox-nav{width:clamp(44px,5vw,64px);height:clamp(44px,5vw,64px);border-radius:50%;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);flex-shrink:0}.lightbox-nav:hover{background:#ffffff2e;transform:scale(1.12)}.lightbox-nav svg{width:clamp(16px,2vw,22px);height:clamp(16px,2vw,22px)}.lightbox-img-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;height:100%}.lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 40px 100px #0009;display:block;transition:opacity .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}.lightbox-footer{padding:16px 0 24px;text-align:center;flex-shrink:0}.lightbox-caption{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:#fff9;letter-spacing:.02em;margin:0}.reveal-text{overflow:hidden;padding:.15em 0;margin:-.15em 0}.reveal-text>*{display:inline-block;transform:translateY(115%)}@media(max-width:1024px){.hero-bg{inset:10px}.hero-content{padding-bottom:8vh}.marquee-container{transform:rotate(-1.5deg) scale(1.03);margin:60px 0}.contact-panel{padding-right:0}.portfolio-title{font-size:1.5rem}.portfolio-overlay{padding:28px}.lightbox-prev{left:20px}.lightbox-next{right:20px}}@media(max-width:768px){.section{padding:clamp(60px,12vh,120px) 0}.section-bg{border-radius:var(--radius-lg);margin:12px 8px;padding:clamp(48px,8vh,80px) 0}.hero-bg{inset:0;border-radius:0}.hero-content{padding-bottom:0;justify-content:center}.hero-title{font-size:clamp(2rem,9vw,3rem);margin-bottom:16px;line-height:1.1;letter-spacing:-.03em}.hero-lead{font-size:clamp(1rem,4vw,1.2rem);margin-bottom:32px}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.hero-actions .btn{width:100%;justify-content:center}.marquee-container{transform:none;margin:40px 0;padding:28px 0}.marquee-item{font-size:clamp(1.4rem,6vw,2.5rem);margin:0 24px}.card{padding:clamp(24px,5vw,36px)}.card h3{font-size:1.4rem}.card-icon{width:60px;height:60px;font-size:24px;margin-bottom:24px}.testimonial-wrap{padding:clamp(28px,6vw,48px)}.testimonial-quote{font-size:clamp(1.2rem,4.5vw,1.6rem);margin-bottom:32px}.portfolio-controls{gap:8px;margin-bottom:40px}.chip{padding:10px 20px;font-size:.85rem}.portfolio-item.large{grid-column:span 1}.portfolio-overlay{padding:20px}.portfolio-title{font-size:1.2rem;transform:translateY(0)}.portfolio-cat{font-size:.8rem;transform:translateY(0)}.section-title{font-size:clamp(2rem,8vw,3rem)}.section-lead{font-size:1rem}.process-list{grid-template-columns:1fr;gap:32px}.process-list li{padding-top:64px}.process-list li:before{font-size:3rem}.contact-box{padding:clamp(24px,5vw,40px)}.contact-item a,.contact-item p{font-size:clamp(1.2rem,5vw,1.6rem)}.site-footer{padding:60px 0 32px;margin-top:60px}.footer-grid{gap:32px}.legal-row{margin-top:48px;flex-direction:column;align-items:flex-start;gap:12px}.cookie-banner{bottom:0;left:0;right:0;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:24px;flex-direction:column;align-items:stretch;gap:20px}.cookie-text{min-width:unset;font-size:.9rem}.cookie-text strong{font-size:1.2rem}.cookie-actions{flex-direction:column}.cookie-actions .btn{width:100%;padding:16px}.lightbox-nav{width:40px;height:40px}.faq-list summary{padding:20px 52px 20px 20px;font-size:1rem}.faq-list summary:after{right:20px}.faq-list p{padding:0 20px 24px;font-size:1rem}}@media(max-width:480px){.hero-title{font-size:clamp(2.2rem,11vw,3.2rem)}.hero-actions{width:100%}.btn{padding:16px 28px;font-size:.95rem}.section-title{font-size:clamp(1.8rem,9vw,2.5rem)}.hero-actions .btn{width:100%;text-align:center}.section-bg{margin:0;border-radius:0}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
