*{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;display:flex;flex-direction:column;font-family:Montserrat,sans-serif;background-color:#000;color:#fff}a{color:inherit;text-decoration:none}main{flex:1;padding-top:50px}header{position:sticky;top:0;width:100%;z-index:9999;overflow:hidden;background:#0000004d;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.1);border-radius:0 0 15px 15px;box-shadow:inset 0 1px #ffffff14,0 8px 24px #0000002e}header:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 50%,rgba(168,85,247,.12),transparent 25%),radial-gradient(circle at 50% 50%,rgba(59,130,246,.1),transparent 25%),radial-gradient(circle at 80% 50%,rgba(132,204,22,.1),transparent 25%);filter:blur(24px);opacity:.9}header:after{content:"";position:absolute;top:-120%;left:-20%;width:50%;height:300%;pointer-events:none;background:linear-gradient(115deg,transparent 0%,transparent 35%,rgba(255,255,255,.03) 42%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.03) 58%,transparent 70%,transparent 100%);filter:blur(40px);transform:rotate(8deg);opacity:0;animation:header-shine 10s linear infinite}@keyframes header-shine{0%{transform:translate(-120%) rotate(8deg)}to{transform:translate(320%) rotate(8deg)}}.header-container{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;max-width:85%;margin:0 auto;padding:16px 20px;transition:padding .3s ease}header.scrolled .header-container{padding:6px 20px}.logo{display:flex;align-items:center}.logo img{display:block;width:auto;height:50px;transition:height .3s ease,transform .3s ease,filter .3s ease}header.scrolled .logo img{height:40px}.logo:hover img{transform:scale(1.1);filter:drop-shadow(0 0 10px rgba(255,255,255,.18))}nav.desktop-nav{display:flex;align-items:center}nav.desktop-nav a{position:relative;margin-left:20px;padding-bottom:8px;font-weight:200;text-transform:uppercase;color:#fff;transition:color .3s ease,font-size .3s ease,text-shadow .3s ease,transform .3s ease}header.scrolled nav.desktop-nav a{font-size:.95rem}nav.desktop-nav a:hover,nav.desktop-nav a.active{color:#1586ad;text-shadow:0 0 8px rgba(21,134,173,.2),0 0 16px rgba(21,134,173,.12)}nav.desktop-nav a:hover{transform:translateY(-1px)}nav.desktop-nav a:after{content:"";position:absolute;bottom:-6px;left:0;width:6px;height:6px;opacity:0;border-radius:50%;background:#1586ad;transform:translate(0);box-shadow:0 0 6px #1586ad,0 0 12px #1586ad80,0 0 18px #1586ad40;transition:left .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease}nav.desktop-nav a:hover:after{left:50%;opacity:.5;transform:translate(-50%)}nav.desktop-nav a.active:after{left:50%;width:5px;height:5px;opacity:.8;transform:translate(-50%);box-shadow:0 0 6px #1586ad,0 0 12px #1586ad73,0 0 18px #1586ad33}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer}.mobile-menu{display:none;flex-direction:column;padding:10px 0;background:#00000040;backdrop-filter:blur(10px);border-radius:10px}.mobile-menu a{padding:15px 20px;border-top:1px solid rgba(255,255,255,.1)}.mobile-menu a:hover{background:#ffffff1a}.site-footer{margin-top:auto;padding:36px 24px 20px;border-top:1px solid rgba(255,255,255,.08)}.site-footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:40px;max-width:1200px;margin:0 auto}.site-footer-brand{display:flex;align-items:center;gap:14px}.site-footer-logo{width:80px;height:auto;opacity:.95}.site-footer-name{font-family:Orbitron,sans-serif;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}.site-footer-actions{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.site-footer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.14);color:#fff;text-transform:uppercase;letter-spacing:.04em;transition:all .25s ease}.site-footer-cta:hover{background:#ffffff0d;border-color:#ffffff4d}.site-footer-legal{display:flex;gap:18px}.site-footer-legal a{font-size:.85rem;color:#ffffff8c;transition:color .25s ease}.site-footer-legal a:hover{color:#ffffffe6}.site-footer-bottom{max-width:1200px;margin:24px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.site-footer-bottom p{margin:0;text-align:center;font-size:.8rem;color:#fff6}.hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:85vh;text-align:center;background:url(/images/hero.jpg) center / cover no-repeat}.overlay{position:absolute;inset:0;background-color:#0000000d}.hero-content{position:relative;top:120px;animation:fadeIn 1.5s ease}.hero-content h1{font-family:Orbitron,sans-serif;font-size:50px;font-weight:800}.hero-content p{margin-bottom:45px}.cta{padding:12px 25px;border:1px solid #fff;text-transform:uppercase;transition:.3s}.cta:hover{background:#fff;color:#000}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-section{position:relative;max-width:1200px;height:auto;margin:0 auto;padding:100px 20px}.about-wrapper{display:grid;grid-template-columns:minmax(280px,420px) 1fr;align-items:center;gap:60px}.about-image{position:relative;overflow:hidden}.about-image:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.about-image img{display:block;width:100%;min-height:520px;max-height:620px;object-fit:cover;border-radius:2px;transform:translateZ(0) scale(1.04);will-change:transform;box-shadow:0 20px 40px #00000073,0 0 0 1px #ffffff0a;transition:transform .5s ease,box-shadow .5s ease}.about-image:hover img{box-shadow:0 28px 60px #0000008c,0 0 0 1px #ffffff0f}.about-content{max-width:680px}.about-kicker{display:inline-block;margin-bottom:14px;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:#1586ad;opacity:.95}.about-content h2{margin-bottom:35px;font-size:25px;font-weight:300;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase}.about-separator{position:relative;width:90px;height:2px;margin:20px 0 32px;overflow:hidden;background:#1586ad40;transform:scaleX(0);transform-origin:left;animation:aboutLineReveal .8s ease forwards,aboutLineFill 1.2s ease forwards;animation-delay:.15s,.8s}.about-separator-dot{position:absolute;top:50%;left:-10px;width:6px;height:6px;border-radius:50%;background:#1586ad;transform:translateY(-50%);box-shadow:0 0 6px #1586ad,0 0 12px #1586ad8c,0 0 18px #1586ad40;animation:aboutDotPass 1s ease forwards;animation-delay:.65s}@keyframes aboutLineReveal{to{transform:scaleX(1)}}@keyframes aboutLineFill{to{background:#1586ad;box-shadow:0 0 8px #1586ad33}}@keyframes aboutDotPass{0%{left:-10px;opacity:0}20%{opacity:1}to{left:calc(100% + 10px);opacity:0}}.about-content p{margin-bottom:20px;font-size:1rem;line-height:1.9;color:#ffffffd1}.about-content strong{color:#fff;font-weight:600}.about-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.about-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.about-btn:hover{transform:translateY(-2px)}.about-btn-primary{background:#1586ad;color:#fff;border:1px solid #1586ad;box-shadow:0 10px 25px #1586ad33}.about-btn-primary:hover{background:#1a97c2;border-color:#1a97c2;box-shadow:0 14px 30px #1586ad47}.about-btn-secondary{background:#ffffff0a;color:#fff;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}.about-btn-secondary:hover{background:#ffffff14;border-color:#ffffff3d}#qui-suis-je{scroll-margin-top:120px}.reveal-item{opacity:0;visibility:hidden;will-change:opacity,transform;transition:opacity 3s ease,transform 3s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s}.reveal-left{transform:translate3d(-50px,50px,0)}.reveal-right{transform:translate3d(50px,50px,0)}.reveal-section.is-visible .reveal-item{opacity:1;visibility:visible;transform:translateZ(0);transition:opacity 3s ease,transform 3s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}.reveal-section.is-visible .about-content.reveal-item{transition-delay:.5s}.services-section{position:relative;width:100%;padding:100px 20px;overflow:hidden;background:#0a0b0b}.services-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:url(/images/background.webp) center / cover no-repeat;opacity:.15;filter:contrast(1.1) brightness(.8);box-shadow:inset 0 1px #ffffff0a,inset 0 -1px #ffffff0a}.services-inner{position:relative;max-width:1200px;margin:0 auto}.services-header{max-width:1200px;margin:0 auto 60px;text-align:center}.services-kicker{display:inline-block;margin-bottom:14px;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:#1586ad;opacity:.95}.services-header h2{margin-bottom:35px;font-size:25px;font-weight:300;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase}.services-separator{position:relative;width:90px;height:2px;margin:20px auto 32px;overflow:hidden;background:#1586ad40;transform:scaleX(0);transform-origin:center}.reveal-section.is-visible .services-separator{animation:servicesLineReveal .8s ease forwards,servicesLineFill 1.2s ease forwards;animation-delay:.15s,.8s}.services-separator-dot{position:absolute;top:50%;left:-10px;width:6px;height:6px;opacity:0;border-radius:50%;background:#1586ad;transform:translateY(-50%);box-shadow:0 0 6px #1586ad,0 0 12px #1586ad8c,0 0 18px #1586ad40}.reveal-section.is-visible .services-separator-dot{animation:servicesDotPass 1s ease forwards;animation-delay:.65s}@keyframes servicesLineReveal{to{transform:scaleX(1)}}@keyframes servicesLineFill{to{background:#1586ad;box-shadow:0 0 8px #1586ad33}}@keyframes servicesDotPass{0%{left:-10px;opacity:0}20%{opacity:1}to{left:calc(100% + 10px);opacity:0}}.services-header p{max-width:800px;margin:0 auto;font-size:1rem;line-height:1.9;color:#ffffffd1}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 60px;max-width:1200px;margin:0 auto}.service-item{position:relative;display:grid;grid-template-columns:60px 1fr;align-items:start;gap:18px;padding:24px 0;border-top:1px solid rgba(255,255,255,.06);transition:transform .35s ease,border-color .35s ease}.service-item:nth-child(3),.service-item:nth-child(4){border-bottom:1px solid rgba(255,255,255,.06)}.service-item:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#1586ad;box-shadow:0 0 10px #1586ad29;transition:width .35s ease}.service-item:hover{transform:translateY(-3px);border-color:#ffffff1f}.service-item:hover:after{width:100%}.service-icon{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;color:#1586ad;transition:transform .35s ease,color .35s ease,filter .35s ease}.service-icon:before{content:"";position:absolute;inset:8px;border:1px solid rgba(21,134,173,.22);pointer-events:none;transition:border-color .35s ease,box-shadow .35s ease}.service-item:hover .service-icon{transform:scale(1.05);color:#1a97c2;filter:drop-shadow(0 0 10px rgba(21,134,173,.14))}.service-item:hover .service-icon:before{border-color:#1586ad61;box-shadow:0 0 18px #1586ad14}.service-icon svg{position:relative;z-index:1;width:28px;height:28px}.service-body h3{margin:0 0 12px;font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;transition:color .35s ease}.service-item:hover .service-body h3{color:#1586ad}.service-body p{margin:0;font-size:1rem;line-height:1.85;color:#ffffffc7}.services-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:50px}.services-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.services-btn:hover{transform:translateY(-2px)}.services-btn-primary{background:#1586ad;color:#fff;border:1px solid #1586ad;box-shadow:0 10px 25px #1586ad33}.services-btn-primary:hover{background:#1a97c2;border-color:#1a97c2;box-shadow:0 14px 30px #1586ad47}.services-btn-secondary{background:#ffffff0a;color:#fff;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}.services-btn-secondary:hover{background:#ffffff14;border-color:#ffffff3d}.featured-projects-section{position:relative;max-width:100%;margin:0 auto;padding:100px 20px;background-color:#000}.featured-projects-header{max-width:720px;margin:0 auto 70px;text-align:center}.featured-projects-kicker{display:inline-block;margin-bottom:14px;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:#1586ad;opacity:.95}.featured-projects-header h2{margin-bottom:25px;font-size:25px;font-weight:300;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase}.featured-projects-header p{margin:0 auto;font-size:1rem;line-height:1.9;color:#ffffffd1}.featured-projects-separator{position:relative;width:90px;height:2px;margin:20px auto 32px;overflow:hidden;background:#1586ad40;transform:scaleX(0);transform-origin:left;animation:aboutLineReveal .8s ease forwards,aboutLineFill 1.2s ease forwards;animation-delay:.15s,.8s}.featured-projects-separator-dot{position:absolute;top:50%;left:-10px;width:6px;height:6px;border-radius:50%;background:#1586ad;transform:translateY(-50%);box-shadow:0 0 6px #1586ad,0 0 12px #1586ad8c,0 0 18px #1586ad40;animation:aboutDotPass 1s ease forwards;animation-delay:.65s}.featured-projects-mobile{display:none}.featured-projects-grid{display:grid;gap:5px}.featured-projects-grid.featured-count-1{grid-template-columns:1fr}.featured-projects-grid.featured-count-2{grid-template-columns:repeat(2,1fr)}.featured-projects-grid.featured-count-3{grid-template-columns:repeat(3,1fr)}.featured-projects-grid.featured-count-4{grid-template-columns:repeat(4,1fr)}.featured-projects-grid.featured-count-5{grid-template-columns:repeat(5,1fr)}.featured-project-link{display:block}.featured-project-media{position:relative;overflow:hidden;aspect-ratio:4 / 5}.featured-project-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.04);box-shadow:0 20px 40px #00000073,0 0 0 1px #ffffff0a;transition:transform .6s ease,box-shadow .6s ease}.featured-project-card:hover img{transform:scale(1.07);box-shadow:0 28px 60px #0000008c,0 0 0 1px #ffffff0f}.featured-projects-slider-mask{position:relative;overflow:hidden}.featured-projects-slider-mask:before,.featured-projects-slider-mask:after{content:"";position:absolute;top:0;bottom:0;z-index:5;width:160px;pointer-events:none}.featured-projects-slider-mask:before{left:0;background:linear-gradient(to right,#0b0b0b 0%,#0b0b0bdd 35%,transparent 100%)}.featured-projects-slider-mask:after{right:0;background:linear-gradient(to left,#0b0b0b 0%,#0b0b0bdd 35%,transparent 100%)}.featured-projects-slider-track{display:flex;gap:5px;width:max-content;will-change:transform}.featured-projects-slider-track .featured-project-card{flex:0 0 280px}.featured-projects-footer{display:flex;justify-content:center;margin-top:70px}.featured-projects-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;background:#1586ad;color:#fff;border:1px solid #1586ad;box-shadow:0 10px 25px #1586ad33;transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.featured-projects-btn:hover{transform:translateY(-2px);background:#1a97c2;border-color:#1a97c2;box-shadow:0 14px 30px #1586ad47}.portfolio{width:min(92%,1400px);margin:0 auto;padding:10px 20px}.portfolio h1{padding-bottom:30px;font-weight:200;text-align:center;text-transform:uppercase}.portfolio-title{font-weight:500;text-align:center;letter-spacing:.08em;opacity:0;transform:translateY(20px);animation:titleReveal .8s ease forwards}@keyframes titleReveal{to{opacity:1;transform:translateY(0)}}.title-separator{position:relative;width:80px;height:2px;margin:0 auto 40px;overflow:hidden;background:#1586ad40;transform:scaleX(0);transform-origin:center;animation:lineReveal .8s ease forwards,lineFill 1.4s ease forwards;animation-delay:.2s,.9s}@keyframes lineReveal{to{transform:scaleX(1)}}@keyframes lineFill{to{background:#1586ad;box-shadow:0 0 6px #1586ad66}}.separator-dot{position:absolute;top:50%;left:-10px;width:6px;height:6px;border-radius:50%;background:#1586ad;transform:translateY(-50%);box-shadow:0 0 6px #1586ad,0 0 12px #1586ad99,0 0 20px #1586ad4d;animation:dotMove 1.2s ease forwards;animation-delay:.7s}@keyframes dotMove{0%{left:-10px;opacity:0}15%,85%{opacity:1}to{left:calc(100% + 10px);opacity:0}}.portfolio-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.portfolio-item{position:relative;display:block;overflow:hidden;border:1px solid rgba(255,255,255,.159);border-radius:2px;opacity:0;transform:translateY(30px);animation:reveal .8s ease forwards}.portfolio-item:nth-child(1){animation-delay:.1s}.portfolio-item:nth-child(2){animation-delay:.2s}.portfolio-item:nth-child(3){animation-delay:.3s}.portfolio-item:nth-child(4){animation-delay:.4s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.portfolio-item img{display:block;width:100%;height:400px;object-fit:cover;transition:transform .5s ease}.portfolio-item:hover img{transform:scale(1.05)}.category-label{position:absolute;bottom:0;left:0;z-index:2;display:flex;align-items:flex-end;width:100%;min-height:72px;padding:14px 18px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(to top,#000000e6,#00000080 40%,#0000);backdrop-filter:blur(6px);transition:opacity .35s ease,transform .35s ease}.portfolio-item:hover .category-label{opacity:0;transform:translateY(20px)}.portfolio-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:#0006;backdrop-filter:blur(4px);opacity:0;transition:opacity .35s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-overlay h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;transform:translateY(10px);transition:transform .4s ease}.portfolio-overlay .cta{padding:0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border:none;opacity:.85;transform:translateY(10px);transition:transform .4s ease,opacity .3s ease}.portfolio-overlay .cta:hover{background:none;color:#fff;opacity:1}.portfolio-item:hover .portfolio-overlay h2,.portfolio-item:hover .portfolio-overlay .cta{transform:translateY(0)}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:40px}.filters button{padding:8px 16px;color:#fff;cursor:pointer;background:#ffffff07;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:1px;transition:.3s}.filters button.active,.filters button:hover{background:#1586ad;color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.portfolio-grid .portfolio-item img{height:250px}.project-logo{position:absolute;bottom:20px;left:50%;z-index:4;display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(-50%);transition:opacity .3s ease}.portfolio-item:hover .project-logo{opacity:1}.project-logo img{display:block;width:auto;height:auto;max-height:30px}.project-detail{width:min(94%,1520px);margin:0 auto;padding:20px 20px 0}.project-detail-hero{--hero-focus-y: 50%;position:relative;display:flex;align-items:stretch;min-height:430px;margin-bottom:54px;overflow:hidden;isolation:isolate;background-image:var(--hero-image);background-position:center var(--hero-focus-y);background-repeat:no-repeat;background-size:cover;border:1px solid rgba(255,255,255,.1);border-radius:2px}.project-detail-hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 50%,#00000029,#00000057,#0000008f 56%,#000000d1),linear-gradient(180deg,#0000002e,#00000052 36%,#00000094)}.project-detail-header{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;width:100%;padding:42px}.project-detail-header-main{display:flex;flex-direction:column;justify-content:flex-end;max-width:760px;text-align:left}.project-detail-kicker{margin-bottom:14px;font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;color:#1586ad}.project-detail-header h1{margin-bottom:8px;font-family:Orbitron,sans-serif;font-size:clamp(2.3rem,4.4vw,4.6rem);line-height:1.02}.project-detail-header .title-separator{margin:12px 0 24px}.project-detail-intro{max-width:60ch;margin:0;line-height:1.9;color:#ffffffe6}.project-detail-logo{display:inline-flex;align-items:center;justify-content:center;align-self:end;justify-self:end;width:fit-content;max-width:100%;padding:16px 18px;backdrop-filter:blur(6px)}.project-detail-logo img{display:block;width:auto;height:auto;max-width:220px;max-height:68px}.project-section-label{margin:0 0 10px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#1586ad}.project-section-heading{display:flex;flex-direction:column;align-items:center;margin-bottom:34px;text-align:center}.project-section-heading-left{align-items:flex-start;margin-bottom:26px;text-align:left}.project-section-heading h2,.project-overview-intro h2{margin:0;font-weight:300;letter-spacing:.02em;text-transform:uppercase}.project-overview{position:relative;margin-bottom:88px;padding:30px 0 10px;overflow:hidden}.project-overview-editorial-v2:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff03,#fff0)}.project-overview-inner{position:relative;z-index:1;max-width:1320px;margin:0 auto;text-align:center}.project-overview .project-section-label{margin:0 0 20px}.project-overview .project-section-label:after{content:"";display:block;width:56px;height:1px;margin:14px auto 0;background:#1586adb8}.project-overview h2{max-width:30ch;margin:0 auto 30px;font-size:clamp(2.2rem,3.4vw,4.4rem);font-weight:300;line-height:.94;letter-spacing:.02em;text-transform:uppercase}.project-overview-text{max-width:120ch;margin:0 auto;font-size:1.05rem;line-height:1.95;color:#ffffffd1}.project-overview-meta-inline{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:22px 64px;margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.06)}.project-meta-inline-item{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:220px}.project-meta-inline-label{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b}.project-meta-inline-value{font-size:1.05rem;line-height:1.6;color:#fffffff0}.project-video-block{width:100%}.project-video-lazy,.project-video-embed{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#111}.project-video-lazy-button{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background-color:#111;background-position:center;background-repeat:no-repeat;background-size:cover}.project-video-lazy-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#00000047,#00000014)}.project-video-play-button{position:absolute;top:50%;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:125px;height:125px;border-radius:999px;background:#ffffffeb;color:#111;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0003;transition:transform .2s ease}.project-video-lazy-button:hover .project-video-play-button{transform:translate(-50%,-50%) scale(1.05)}.project-video-embed iframe,.project-video-player{display:block;width:100%;height:100%;border:0}.project-overview-bg-word{position:absolute;bottom:-6px;left:50%;z-index:0;width:min(92%,18ch);font-family:Orbitron,sans-serif;font-size:clamp(3.8rem,11vw,10rem);line-height:.86;letter-spacing:.05em;text-align:center;text-transform:uppercase;white-space:normal;text-wrap:balance;color:#ffffff0a;pointer-events:none;user-select:none;overflow-wrap:anywhere;transform:translate(-50%)}.project-gallery-showcase{margin-bottom:92px}.project-justified-gallery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;opacity:0;transition:opacity .18s ease}.project-justified-gallery[data-ready=true]{opacity:1}.project-justified-gallery__item{position:relative;overflow:hidden}.project-justified-gallery__card{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;cursor:pointer;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:2px}.project-justified-gallery__card img{display:block;width:100%;height:100%;margin-left:5px;object-fit:cover;transition:transform .6s ease,filter .4s ease}.project-justified-gallery__card:hover img{filter:brightness(1.04);transform:scale(1.025)}.project-story{padding-top:10px}.project-story-inner{width:100%;max-width:1100px;margin:0 auto;text-align:center}.project-section-heading-center{margin-left:auto;margin-right:auto;text-align:center}.project-section-heading-center .project-section-label{justify-content:center}.project-detail-text{width:100%;margin:0 auto}.project-detail-text p{margin:0 0 22px;line-height:1.95;color:#fffc;text-align:justify}.project-detail-text p:last-child{margin-bottom:0}.project-detail-related{margin:40px auto 0;padding-top:28px;text-align:center;border-top:1px solid rgba(255,255,255,.08)}.project-detail-related h3{margin:0 0 16px;font-size:.78rem;font-weight:200;letter-spacing:.12em;text-transform:uppercase;color:#00e0ff}.project-detail-related-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.project-lightbox{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:30px 90px;background:#000000f2}.project-lightbox.is-open{display:flex}.project-lightbox-inner{display:flex;align-items:center;justify-content:center;max-width:min(88vw,1600px);max-height:90vh}.project-lightbox-inner img{display:block;width:auto;max-width:100%;height:auto;max-height:90vh}.project-lightbox-close,.project-lightbox-nav{position:absolute;color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid rgba(255,255,255,.2);transition:background .3s ease,transform .3s ease}.project-lightbox-close:hover,.project-lightbox-nav:hover{background:#ffffff1f}.project-lightbox-close{top:20px;right:20px;width:46px;height:46px;font-size:2rem;line-height:1}.project-lightbox-nav{top:50%;width:52px;height:52px;font-size:2rem;line-height:1;transform:translateY(-50%)}.project-lightbox-prev{left:20px}.project-lightbox-next{right:20px}.legal-page{min-height:100vh;background:#000;color:#f5f5f5;padding:clamp(7rem,10vw,9rem) 1.5rem 5rem}.legal-shell{width:min(1100px,100%);margin:0 auto}.legal-eyebrow{margin:0 0 1rem;color:#11a8e2;text-transform:uppercase;letter-spacing:.22em;font-size:.95rem;line-height:1}.legal-title{margin:0;font-size:clamp(2.5rem,6vw,4.5rem);line-height:.95;font-weight:600;text-transform:uppercase;letter-spacing:-.03em}.legal-divider{width:92px;height:2px;background:#11a8e2;margin:2rem 0 2.5rem}.legal-intro{max-width:800px;margin:0 0 3rem;color:#ffffffc7;font-size:1.05rem;line-height:1.9}.legal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}.legal-card{grid-column:span 6;background:linear-gradient(180deg,#ffffff08,#ffffff04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.5rem 1.5rem 1.4rem;backdrop-filter:blur(6px);box-shadow:0 0 0 1px #11a8e205 inset}.legal-card--full{grid-column:span 12}.legal-card h2{margin:0 0 1rem;font-size:1.15rem;line-height:1.2;font-weight:700;color:#fff}.legal-card p{margin:0 0 .8rem;color:#ffffffd1;font-size:1rem;line-height:1.8}.legal-card p:last-child{margin-bottom:0}.legal-card strong{color:#fff;font-weight:700}.legal-card a{color:#11a8e2;text-decoration:none;transition:opacity .2s ease}.legal-card a:hover{opacity:.8}@media(max-width:900px){.legal-card,.legal-card--full{grid-column:span 12}}@media(max-width:640px){.legal-page{padding:6rem 1.25rem 4rem}.legal-intro,.legal-card p{font-size:.98rem;line-height:1.75}.legal-card{padding:1.2rem;border-radius:14px}}@media(max-width:1200px){.project-detail{width:min(95%,1400px)}.project-detail-hero{min-height:380px;margin-bottom:48px}.project-detail-header{padding:34px}.project-detail-gallery-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview{margin-bottom:68px;padding:18px 0 8px}.project-overview-inner{max-width:100%}.project-overview h2{max-width:22ch;font-size:clamp(2rem,4.6vw,3.4rem)}.project-overview-text{max-width:68ch}.project-overview-meta-inline{gap:20px 42px;margin-top:42px}.project-meta-inline-item{min-width:190px}.project-overview-bg-word{bottom:-2px;width:min(94%,16ch);font-size:clamp(3.2rem,12vw,7.5rem)}}@media(max-width:900px){.services-grid{grid-template-columns:1fr;gap:0}.service-item:nth-child(3){border-bottom:none}.featured-projects-desktop{display:none}.featured-projects-mobile{display:block}.featured-projects-mobile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.featured-projects-section{padding:80px 20px}.about-wrapper{grid-template-columns:1fr;gap:36px}.about-image{max-width:520px}.about-image img{min-height:auto;max-height:none;aspect-ratio:4 / 5}.about-content h2{font-size:clamp(1.8rem,6vw,2.6rem)}}@media(max-width:768px){.site-footer-inner{flex-direction:column;align-items:flex-start;gap:24px}.site-footer-actions{align-items:flex-start}nav.desktop-nav{display:none}.mobile-menu-button{display:block}.mobile-menu.show{display:flex}.hero-content h1{font-size:2rem}.about-section{padding:70px 20px}.about-content p{font-size:.96rem;line-height:1.8}.about-actions{flex-direction:column;align-items:stretch}.about-btn{width:100%}.portfolio-categories,.portfolio-grid{grid-template-columns:1fr}.portfolio-item img{height:300px}.portfolio-grid .portfolio-item img{height:220px}.category-label{min-height:64px;padding:12px 14px;font-size:.8rem}.portfolio-overlay h2{font-size:1.2rem}.project-logo{width:40px;height:40px}.project-detail{width:min(94%,1200px);padding:12px 0 70px}.project-detail-hero{min-height:310px;margin-bottom:42px}.project-detail-header{grid-template-columns:1fr;align-items:end;gap:20px;padding:24px}.project-detail-logo{align-self:start;justify-self:start;padding:12px 14px}.project-detail-logo img{max-width:150px;max-height:42px}.project-detail-kicker{margin-bottom:10px;font-size:.76rem;letter-spacing:.14em}.project-detail-header h1{font-size:2rem;line-height:1.06}.project-detail-header .title-separator{margin:8px 0 18px}.project-detail-intro{max-width:none;line-height:1.75}.project-gallery-showcase{margin-bottom:68px}.project-gallery-featured-card{aspect-ratio:16 / 10}.project-detail-gallery-grid-secondary{gap:12px}.project-detail-text p{margin-bottom:18px;line-height:1.85}.project-lightbox{padding:16px 20px}.project-lightbox-nav{width:44px;height:44px;font-size:1.7rem}.project-lightbox-prev{left:10px}.project-lightbox-next{right:10px}.project-lightbox-close{top:12px;right:12px}.project-overview{margin-bottom:54px;padding:10px 0 2px}.project-overview-inner{text-align:left}.project-overview .project-section-label{margin-bottom:16px}.project-overview .project-section-label:after{margin:12px 0 0}.project-overview h2{max-width:none;margin:0 0 18px;font-size:clamp(1.9rem,8vw,2.8rem);line-height:1}.project-overview-text{max-width:none;margin:0;font-size:.98rem;line-height:1.8}.project-overview-meta-inline{justify-content:flex-start;gap:18px 22px;margin-top:30px;padding-top:16px}.project-meta-inline-item{align-items:flex-start;min-width:min(100%,220px)}.project-overview-bg-word{bottom:-2px;left:0;width:min(100%,14ch);font-size:clamp(2.8rem,18vw,5.4rem);line-height:.9;text-align:left;transform:none}}@media(max-width:680px){.services-section{padding:80px 20px}.services-header{margin-bottom:46px}.service-item{grid-template-columns:56px 1fr;gap:16px;padding:22px 0}.service-icon{width:56px;height:56px}.service-icon svg{width:26px;height:26px}.services-actions{margin-top:32px}}@media(max-width:520px){.project-detail{width:min(94%,100%);padding:8px 0 56px}.project-detail-hero{min-height:270px;margin-bottom:36px}.project-detail-header{padding:18px}.project-detail-header h1{font-size:1.72rem}.project-detail-intro{font-size:.98rem;line-height:1.65}.project-gallery-featured-card,.project-gallery-card{aspect-ratio:4 / 3}.project-detail-gallery-grid-secondary{grid-template-columns:1fr}.project-lightbox{padding:14px 12px}.project-lightbox-nav{width:40px;height:40px;font-size:1.5rem}.project-lightbox-prev{left:6px}.project-lightbox-next{right:6px}.project-lightbox-close{top:8px;right:8px;width:42px;height:42px;font-size:1.8rem}.project-overview{margin-bottom:46px}.project-overview h2{font-size:1.72rem}.project-overview-text{font-size:.96rem;line-height:1.72}.project-overview-meta-inline{display:grid;grid-template-columns:1fr;gap:16px}.project-meta-inline-item{gap:4px;min-width:0}.project-overview-bg-word{width:min(100%,12ch);font-size:clamp(2.4rem,16vw,4.2rem)}}
