html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:#090c13}header{position:fixed;top:20px}nav>a{color:#d1d5db;text-decoration:none;font-size:14px;font-weight:600;padding:7px 12px;border-radius:30px}nav>a:hover,nav>a.active{background:#ffffff15;color:white}.reserve{display:inline-block;text-decoration:none}.cyber-reveal{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:url('assets/hero-cyber-blue.png') center center/cover no-repeat;mask-image:radial-gradient(circle 105px at var(--cursor-x,50%) var(--cursor-y,35%),black 65%,transparent 100%);-webkit-mask-image:radial-gradient(circle 105px at var(--cursor-x,50%) var(--cursor-y,35%),black 65%,transparent 100%)}.portfolio-content{background:radial-gradient(ellipse at 100% 8%,#0e2d6930,transparent 30%),#090c13;color:#e9f0ff}.portfolio-section{padding:100px max(5vw,24px);max-width:1600px;margin:auto}.section-kicker{color:#4b88ff;letter-spacing:3px;font-size:12px;font-weight:600;margin:0 0 22px}.section-heading{margin-bottom:70px;max-width:750px}h2{font-size:clamp(38px,6vw,76px);font-weight:400;line-height:1.08;letter-spacing:-4px;margin:0 0 28px}.section-heading>p:last-child,.bio-copy p,.future-card p,.contact-section>p:not(.section-kicker){font-size:16px;line-height:1.85;color:#a0acc3}.group-heading{display:flex;gap:20px;align-items:center;border-bottom:1px solid #1d2f51;padding-bottom:18px;margin-bottom:28px}.group-heading>span{color:#4b88ff;font-size:13px}h3{font-weight:500;font-size:22px;margin:0}.project-group{margin-bottom:70px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;perspective:1200px}.project-card{position:relative;border:1px solid #ffffff18;border-radius:22px;background:linear-gradient(145deg,#162135,#0e121b);transform-style:preserve-3d;overflow:visible;outline-offset:6px;will-change:transform}.project-card:hover,.project-card:focus-visible{border-color:#4b88ff88;box-shadow:0 25px 50px #0004}.card-art{height:185px;position:relative;display:grid;place-items:center;overflow:hidden;border-radius:22px 22px 0 0;background:radial-gradient(circle at 50% 120%,#2972ff40,transparent 65%),linear-gradient(150deg,#0e2043,#090d16);transform:translateZ(15px)}.monogram{font-size:54px;letter-spacing:-5px;font-weight:500;color:#7eaaff;text-shadow:4px 4px 0 #0e337c,8px 8px 20px #0005;z-index:1;transform:rotate(-9deg)}.orbit{position:absolute;width:165px;height:165px;border:1px solid #558fff40;border-radius:50%;transform:rotateX(55deg) rotateZ(-30deg);box-shadow:0 0 0 20px #4b88ff06,0 0 0 45px #4b88ff04}.card-number{position:absolute;right:18px;top:18px;font-size:11px;color:#7188b6}.card-copy{padding:24px;transform:translateZ(22px)}h4{font-size:18px;line-height:1.5;font-weight:500;margin:0 0 12px}.card-copy p{font-size:14px;line-height:1.75;color:#a0acc3;margin:0}.bio-section{border-top:1px solid #ffffff14;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.bio-copy p:first-child{font-size:24px;color:white}.future-section{border-top:1px solid #ffffff14;display:grid;grid-template-columns:1fr 1fr;gap:30px}.future-section>.section-kicker{grid-column:1/-1}.future-card{padding:38px;border-radius:24px;background:linear-gradient(130deg,#113272,#0d1525);border:1px solid #4b88ff44}.future-tag{display:inline-block;font-size:11px;letter-spacing:2px;color:#aecaff;margin-bottom:25px}.future-card h3{font-size:clamp(28px,4vw,44px);letter-spacing:-2px}.future-card a{display:inline-block;color:white;font-size:14px;margin-top:14px}.contact-section{border-top:1px solid #ffffff14;min-height:500px}.contact-section>p{max-width:640px}.contact-pending{color:#707f9b!important;font-size:14px!important}.portfolio-footer{border-top:1px solid #ffffff14;padding:30px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8695b1}.portfolio-footer a{color:#81acff;text-decoration:none}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bio-section{gap:35px}.future-section{grid-template-columns:1fr}}@media(max-width:767px){header{width:calc(100% - 40px)}nav.open{max-height:80svh;overflow:auto}nav>a{min-height:44px;display:flex;align-items:center}.portfolio-section{padding:65px 24px}.project-grid{grid-template-columns:1fr}.section-heading{margin-bottom:40px}h2{letter-spacing:-2px}.bio-section{grid-template-columns:1fr;gap:20px}.future-card{padding:28px}.portfolio-footer{flex-direction:column}.cyber-reveal{display:none}.card-art{height:170px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card{will-change:auto}.cyber-reveal{display:none}}
.projects-section{max-width:1600px;overflow:hidden;padding-bottom:110px}.projects-section .section-heading{margin-bottom:35px}.project-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.project-filters button{font:inherit;font-size:12px;padding:12px 22px;border-radius:30px;background:transparent;color:#a0acc3;border:1px solid #ffffff25;cursor:pointer}.project-filters button[aria-pressed=true]{background:#4b88ff;color:#050c1b;border-color:#4b88ff}.carousel{outline-offset:4px}.carousel-stage{height:520px;position:relative;perspective:1300px;touch-action:pan-y;isolation:isolate}.carousel-stage:after{content:'';position:absolute;bottom:20px;left:18%;right:18%;height:65px;background:#2670ff29;filter:blur(40px);z-index:-1}.carousel-card{position:absolute;left:50%;top:40px;width:min(740px,64vw);height:410px;background:#141619;border:1px solid #ffffff33;border-radius:18px;overflow:hidden;box-shadow:0 30px 65px #0008;transform-style:preserve-3d;backface-visibility:hidden;cursor:pointer;will-change:transform}.browser-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 13px;background:#181c23}.browser-bar>span{width:7px;height:7px;background:#5a90fa;border-radius:50%}.browser-bar>span:nth-child(2){background:#578aee}.browser-bar>span:nth-child(3){background:#94b990}.browser-bar small{margin-left:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:10px;color:#aab5c9}.carousel-card img{width:100%;height:calc(100% - 34px);object-fit:cover;object-position:top;display:block;user-select:none}.slide-caption{position:absolute;bottom:0;left:0;right:0;padding:45px 24px 20px;background:linear-gradient(transparent,#070708ed);pointer-events:none}.slide-caption span{color:#83adff;font-size:10px;letter-spacing:2px;text-transform:uppercase}.slide-caption h3{font-size:21px;color:white;margin-top:9px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:28px}.carousel-controls button{width:54px;height:54px;border-radius:50%;background:#ffffff08;border:1px solid #ffffff30;color:white;font-size:22px;cursor:pointer}.carousel-controls button:hover{background:#4b88ff;color:#060b16}.carousel-counter{font-size:12px;color:#a9b8d4;min-width:72px;text-align:center}.project-detail{max-width:680px;text-align:center;margin:32px auto 0;min-height:170px}.detail-category{color:#4b88ff;font-size:11px;letter-spacing:3px;text-transform:uppercase}.detail-name{font-size:clamp(25px,3vw,38px);letter-spacing:-1px}.detail-description{font-size:14px;line-height:1.8;color:#a0acc3}.detail-link{color:#87b0ff;font-size:13px;text-underline-offset:6px}.project-picker{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;color:#8391ac;font-size:11px}.project-picker select{font:inherit;color:#e8f0ff;background:#131925;border:1px solid #ffffff30;padding:12px;max-width:290px;border-radius:8px}.project-picker span{width:100%;text-align:center;color:#6a7894;margin-top:8px}button:focus-visible,select:focus-visible{outline:2px solid #87b0ff;outline-offset:4px}@media(max-width:767px){.projects-section{padding-left:20px;padding-right:20px}.carousel-stage{height:355px;perspective:800px}.carousel-card{width:80vw;height:280px;top:30px;border-radius:13px}.slide-caption{padding:35px 16px 16px}.slide-caption h3{font-size:17px}.project-filters{gap:7px}.project-filters button{padding:11px 15px}.project-detail{min-height:180px}.browser-bar{height:26px}.carousel-card img{height:calc(100% - 26px)}}@media(prefers-reduced-motion:reduce){.carousel-card{will-change:auto}}
header{z-index:100}.carousel:focus{outline:none}.carousel:focus-visible{outline:2px solid #87b0ff;outline-offset:8px}
/* Refined project gallery */
.projects-section{background:radial-gradient(ellipse at 50% 44%,#10306f1c,transparent 55%)}.projects-section .section-heading{max-width:none;display:grid;grid-template-columns:1.25fr 1fr;gap:0 8vw;align-items:end;margin-bottom:32px}.projects-section .section-kicker{grid-column:1/-1}.projects-section h2{font-size:clamp(38px,5vw,64px);letter-spacing:-3px;margin-bottom:0}.projects-section .section-heading>p:last-child{max-width:420px;margin-bottom:0;font-size:15px}.project-filters{margin-top:42px}.project-filters button{font-size:12px;background:#ffffff04;border-color:#ffffff17}.project-filters button:hover{border-color:#699cff66}.carousel-stage{height:575px;perspective:1500px}.carousel-card{width:min(840px,68vw);height:475px;top:35px;border-radius:14px;background:#0d0e10;border:1px solid #ffffff30;box-shadow:0 35px 85px #000b;transition:border-color .4s,box-shadow .4s}.carousel-card.is-current{border-color:#699cff7a;box-shadow:0 35px 90px #000b,0 0 50px #4b88ff12}.carousel-card img{height:100%;object-fit:contain;object-position:center;background:#0e0f11;border-radius:13px}.slide-caption{padding:42px 24px 19px;background:linear-gradient(transparent,#060607ee)}.slide-caption h3{font-size:18px;letter-spacing:-.5px}.carousel-stage:after{bottom:0;left:25%;right:25%;height:60px;background:#2972ff30}.carousel-progress{height:1px;background:#ffffff17;max-width:360px;margin:0 auto 22px;overflow:hidden}.carousel-progress span{display:block;width:100%;height:100%;background:#699cff;transform-origin:left;transition:transform .55s}.carousel-controls{gap:26px}.carousel-controls button{width:48px;height:48px;background:#111724;border-color:#ffffff26}.project-detail{max-width:1000px;min-height:140px;display:grid;grid-template-columns:1fr 1fr;gap:8px 60px;text-align:left;margin-top:35px;align-items:start}.detail-category{grid-column:1/-1;margin:0;font-size:10px}.detail-name{font-size:32px;line-height:1.2;margin:0}.detail-description{margin:0}.detail-link{grid-column:2}.carousel-thumbs{display:flex;gap:10px;max-width:1000px;margin:28px auto 24px;overflow-x:auto;padding:5px 2px 14px;scrollbar-width:thin;scrollbar-color:#2c4d8c transparent}.carousel-thumbs button{flex:0 0 76px;height:53px;padding:3px;background:#ffffff06;border:1px solid #ffffff18;border-radius:7px;cursor:pointer;opacity:.55;transition:opacity .25s,border-color .25s}.carousel-thumbs button[aria-pressed=true]{opacity:1;border-color:#699cff}.carousel-thumbs button:hover{opacity:1}.carousel-thumbs button[hidden]{display:none}.carousel-thumbs img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:4px}.project-picker{justify-content:space-between;max-width:1000px;margin:auto}.project-picker span{width:auto;margin:0;font-size:10px}.project-picker select{font-size:11px}.project-picker label{margin-right:auto}.project-picker select{margin-right:auto}
/* Guadeloupe biography and connected globe */
.island-section{display:block;padding-top:110px;padding-bottom:100px;position:relative;background:radial-gradient(ellipse at 85% 45%,#15394435,transparent 55%)}.bio-intro{max-width:1000px}.bio-intro h2{font-size:clamp(38px,5vw,64px);letter-spacing:-3px;line-height:1.14}.bio-signature{font-size:14px;color:#cfdfff;margin:0 0 50px}.bio-signature span{color:#7789ad}.island-story{display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;align-items:center}.island-story .bio-copy{position:relative;z-index:1}.island-story .bio-copy p{font-size:15px;line-height:1.9;color:#a6b0c4}.island-story .bio-copy p:first-child{font-size:21px;line-height:1.7;color:#e4edff}.bio-copy h3{font-size:22px;line-height:1.5;margin-top:35px;color:#c9dbff;letter-spacing:-.7px}.bio-source{font-size:11px;color:#7e8aa2;text-underline-offset:5px}.globe-panel{margin:0;position:relative;min-width:0}.globe-heading{font-size:10px;letter-spacing:2.4px;color:#96d5d9;display:flex;align-items:center;justify-content:center;gap:10px}.live-dot{width:6px;height:6px;background:#5bd5de;border-radius:50%;box-shadow:0 0 16px #5bd5de}.globe-wrap{position:relative;aspect-ratio:1;width:100%;max-width:660px;margin:auto;isolation:isolate}.globe-wrap:before{content:'';position:absolute;inset:12%;border-radius:50%;background:#14606b22;filter:blur(65px);z-index:-1}.globe-wrap canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.globe-origin{position:absolute;position-anchor:--cobe-guadeloupe;bottom:anchor(center);left:anchor(center);translate:-50% 50%;width:130px;height:50px;display:flex;align-items:center;flex-direction:column;justify-content:center;pointer-events:none;opacity:var(--cobe-visible-guadeloupe,0);z-index:2}.globe-origin b{font-size:10px;letter-spacing:1px;margin-top:50px;padding:7px 10px;background:#0b181deb;border:1px solid #7cd7dd70;border-radius:5px;color:#b1f3f6;white-space:nowrap}.globe-origin small{font-size:8px;color:#91bfc2;white-space:nowrap;margin-top:5px}.pulse-ring{position:absolute;width:35px;height:35px;border:1px solid #67e2e9;border-radius:50%;animation:island-pulse 2.5s ease-out infinite;top:8px}.pulse-ring:after{content:'';position:absolute;inset:8px;border-radius:50%;background:#c4fbff;box-shadow:0 0 22px #61ecf9}.globe-actions{display:flex;justify-content:center;gap:12px;margin-top:-20px;position:relative;z-index:3}.globe-actions button{background:#12232780;border:1px solid #79bac22e;border-radius:30px;font:inherit;font-size:10px;color:#abdae0;padding:13px 18px;cursor:pointer}.globe-actions button:hover{border-color:#79bac2}.globe-panel figcaption{text-align:center;font-size:12px;color:#c4e6e9;line-height:1.8;margin-top:24px}.globe-panel figcaption>span{display:block;font-size:9px;color:#6e989c;margin-top:5px}.globe-destinations{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:20px}.globe-destinations span{font-size:9px;color:#7dacb3;padding:7px 10px;border-radius:4px;border:1px solid #5a949e26}.globe-fallback{position:absolute;inset:20%;display:grid;place-items:center;border:1px solid #71cbd7;border-radius:50%;text-align:center;color:#a8e6ef;font-size:14px;padding:30px}.globe-fallback[hidden]{display:none}@keyframes island-pulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.8);opacity:0}}@media(max-width:1000px){.island-story{grid-template-columns:1fr 1fr;gap:25px}.globe-actions{flex-wrap:wrap;margin-top:0}.carousel-card{height:420px}.carousel-stage{height:510px}}@media(max-width:767px){.projects-section .section-heading{display:block}.projects-section h2{margin-bottom:22px}.projects-section .section-heading>p:last-child{font-size:14px}.project-filters{margin-top:26px}.carousel-stage{height:340px;perspective:850px}.carousel-card{width:82vw;height:265px;top:30px}.slide-caption h3{font-size:15px}.slide-caption{padding:35px 16px 15px}.project-detail{display:block;min-height:175px;text-align:center;margin-top:28px}.detail-category{margin-bottom:10px}.detail-name{font-size:27px;margin-bottom:15px}.detail-description{font-size:13px;margin-bottom:15px}.carousel-thumbs{gap:8px;margin-top:18px}.carousel-thumbs button{flex-basis:62px;height:46px}.project-picker{justify-content:center;gap:12px}.project-picker span{width:100%;text-align:center;margin-top:10px}.project-picker label,.project-picker select{margin-right:0}.island-story{grid-template-columns:1fr}.bio-intro h2{letter-spacing:-2px}.island-section{padding-top:70px}.bio-signature{margin-bottom:35px}.island-story .bio-copy p:first-child{font-size:19px}.globe-panel{margin-top:25px}.globe-panel figcaption{font-size:11px}.globe-origin b{font-size:9px}.globe-actions button{min-height:44px}.globe-actions{margin-top:5px}.project-picker span{font-size:9px}}@media(prefers-reduced-motion:reduce){.pulse-ring{animation:none}.carousel-progress span{transition:none}}
.globe-origin{position-anchor:auto;bottom:auto;translate:-50% -50%}
