@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Raleway:wght@600&family=Space+Grotesk:wght@600;700&display=swap";.case-study{overflow:clip}.case-section{padding:clamp(78px,10vw,150px) 0;position:relative}.case-hero{align-items:center;min-height:100svh;padding:118px 0 80px;display:flex;position:relative;overflow:hidden}.case-hero-container{z-index:2;position:relative}.case-hero-glow{filter:blur(20px);pointer-events:none;border-radius:50%;position:absolute}.case-hero-glow-one{aspect-ratio:1;background:color-mix(in srgb, var(--accent) 17%, transparent);width:min(680px,70vw);top:5%;right:-12%}.case-hero-glow-two{aspect-ratio:1;background:#24c89a1f;width:min(540px,65vw);bottom:-25%;left:-14%}.case-back-link{color:var(--muted);align-items:center;gap:8px;margin-bottom:clamp(40px,6vw,74px);font-size:.88rem;font-weight:700;text-decoration:none;transition:color .18s,transform .18s;display:inline-flex}.case-back-link:hover{color:var(--text);transform:translate(-4px)}.case-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(54px,8vw,120px);display:grid}.case-eyebrow{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:22px;font-size:.74rem;font-weight:850;display:inline-flex}.case-eyebrow-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 18px}.case-hero h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(3.2rem,6.3vw,7.5rem);line-height:.92}.case-hero h1 span{color:var(--accent);display:block}.case-hero-lead{max-width:640px;color:var(--muted);margin:30px 0 0;font-size:clamp(1.04rem,1.5vw,1.28rem);line-height:1.75}.case-hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.case-meta{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:48px 0 0;padding-top:30px;display:grid}.case-meta div{gap:5px;display:grid}.case-meta dt{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:800}.case-meta dd{color:var(--text);margin:0;font-weight:700}.case-hero-visual{position:relative}.case-floating-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 76%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:15px;align-items:center;gap:11px;padding:13px 15px;display:flex;position:absolute;box-shadow:0 24px 50px #0000002e}.case-floating-card svg{color:var(--accent)}.case-floating-card div{display:grid}.case-floating-card strong{font-size:.72rem}.case-floating-card span{color:var(--muted);font-size:.57rem}.case-floating-card-top{top:20%;right:-7%}.case-floating-card-bottom{bottom:13%;left:-9%}.section-kicker{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px;font-size:.72rem;font-weight:850;display:block}.case-section h2{letter-spacing:-.055em;max-width:920px;margin:0;font-size:clamp(2.1rem,4.5vw,5rem);line-height:1.02}.case-intro{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.case-intro-grid{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:clamp(50px,9vw,140px);display:grid}.case-large-copy{gap:22px;display:grid}.case-large-copy p{color:var(--muted);margin:0;font-size:clamp(1.08rem,1.7vw,1.42rem);line-height:1.7}.case-section-heading{justify-content:space-between;align-items:end;gap:60px;margin-bottom:clamp(44px,7vw,80px);display:flex}.case-section-heading>p{max-width:520px;color:var(--muted);margin:0;line-height:1.75}.case-problem-grid,.case-benefits-grid,.case-features-grid{gap:16px;display:grid}.case-problem-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-problem-grid article,.case-benefit-card,.case-feature-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent)}.case-problem-grid article{border-radius:23px;min-height:280px;padding:28px}.case-problem-grid article>span{color:var(--accent);font-size:.72rem;font-weight:850}.case-problem-grid h3,.case-benefit-card h3,.case-feature-card h3{margin:52px 0 12px;font-size:1.15rem}.case-problem-grid p,.case-benefit-card p,.case-feature-card p{color:var(--muted);margin:0;line-height:1.65}.case-benefits-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-benefit-card{border-radius:23px;padding:27px}.case-card-icon{background:color-mix(in srgb, var(--accent) 12%, transparent);width:48px;height:48px;color:var(--accent);border-radius:15px;place-items:center;display:grid}.case-benefit-card h3{margin-top:40px}.case-features-section,.case-architecture-section{background:color-mix(in srgb, var(--surface-secondary) 58%, transparent)}.case-features-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-feature-card{border-radius:25px;min-height:300px;padding:28px}.case-feature-top{justify-content:space-between;align-items:center;display:flex}.case-feature-top>span{color:var(--muted);font-size:.7rem;font-weight:850}.case-feature-card h3{margin-top:52px}.architecture-diagram{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.architecture-node{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:27px;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:28px;display:flex}.architecture-node-primary{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 26px 60px color-mix(in srgb, var(--accent) 12%, transparent)}.architecture-node>div{background:color-mix(in srgb, var(--accent) 13%, transparent);width:58px;height:58px;color:var(--accent);border-radius:18px;place-items:center;margin-bottom:24px;display:grid}.architecture-node span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.63rem;font-weight:800}.architecture-node strong{margin:8px 0;font-size:1.22rem}.architecture-node small{max-width:190px;color:var(--muted);line-height:1.5}.architecture-link{color:var(--accent);align-items:center;display:flex}.architecture-link span{background:currentColor;width:30px;height:1px}.architecture-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px;display:grid}.architecture-details>div{border:1px solid var(--border);color:var(--accent);border-radius:17px;align-items:center;gap:13px;padding:18px;display:flex}.architecture-details span{color:var(--muted);font-size:.74rem;display:grid}.architecture-details strong{color:var(--text);font-size:.84rem}.case-stages{max-width:950px;margin-inline:auto;display:grid}.case-stage{grid-template-columns:70px 1fr;gap:30px;display:grid}.case-stage-marker{justify-content:center;display:flex;position:relative}.case-stage-marker:after{content:"";background:var(--border);width:1px;position:absolute;top:48px;bottom:0}.case-stage:last-child .case-stage-marker:after{display:none}.case-stage-marker span{z-index:1;border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--surface);width:46px;height:46px;color:var(--accent);border-radius:50%;place-items:center;font-size:.74rem;font-weight:850;display:grid;position:relative}.case-stage-content{padding:0 0 64px}.case-stage-content>span{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:850}.case-stage-content h3{margin:8px 0 13px;font-size:clamp(1.35rem,2.5vw,2.15rem)}.case-stage-content p{max-width:720px;color:var(--muted);margin:0;line-height:1.7}.case-stage-content small{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);border-radius:999px;margin-top:17px;padding:7px 10px;font-weight:750;display:inline-block}.case-next-card{border:1px solid var(--border);background:radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 35%), var(--surface);border-radius:clamp(25px,4vw,44px);justify-content:space-between;align-items:end;gap:50px;padding:clamp(30px,6vw,70px);display:flex}.case-next-card p{max-width:700px;color:var(--muted);margin:22px 0 0;line-height:1.75}.case-next-card .button{flex:none}.case-project-navigation{justify-content:space-between;gap:20px;margin-top:38px;display:flex}.case-project-navigation a{color:var(--muted);align-items:center;gap:8px;font-weight:750;text-decoration:none;display:inline-flex}.case-project-navigation a:hover{color:var(--text)}@media (width<=1100px){.case-hero-grid,.case-intro-grid{grid-template-columns:1fr}.case-hero-visual{max-width:760px;margin-inline:auto}.case-problem-grid,.case-benefits-grid,.case-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-section-heading{gap:25px;display:grid}}@media (width<=760px){.case-hero{min-height:auto;padding-top:104px}.case-hero h1{font-size:clamp(3.15rem,15vw,5.3rem)}.case-meta{grid-template-columns:1fr}.case-floating-card{display:none}.case-problem-grid,.case-benefits-grid,.case-features-grid,.architecture-details{grid-template-columns:1fr}.case-problem-grid article{min-height:auto}.case-problem-grid h3,.case-feature-card h3{margin-top:35px}.architecture-diagram{grid-template-columns:1fr}.architecture-link{justify-content:center;height:44px;transform:rotate(90deg)}.case-stage{grid-template-columns:45px 1fr;gap:18px}.case-stage-marker span{width:38px;height:38px}.case-stage-marker:after{top:40px}.case-next-card{align-items:start;display:grid}.case-next-card .button{justify-self:start}}@media (width<=520px){.case-hero-actions{display:grid}.case-hero-actions .button{justify-content:center;width:100%}.case-project-navigation{flex-direction:column;align-items:stretch}.case-project-navigation a:last-child{justify-content:flex-end}}.case-management-list{list-style-type:none}.case-study .architecture-diagram-four{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr)}@media (width<=1200px){.case-study .architecture-diagram-four{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study .architecture-diagram-four .architecture-link{display:none}}@media (width<=760px){.case-study .architecture-diagram-four{grid-template-columns:1fr}}.case-study .case-offline-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:radial-gradient(circle at 82% 42%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 34%), color-mix(in srgb, var(--surface-secondary) 45%, transparent);position:relative;overflow:hidden}.case-study .case-offline-section>.container{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(55px,9vw,130px);display:grid}.case-study .offline-copy h2{max-width:720px}.case-study .offline-copy>p{max-width:650px;color:var(--muted);margin:25px 0 0;font-size:clamp(.98rem,1.35vw,1.1rem);line-height:1.75}.case-study .case-offline-grid{gap:13px;margin-top:38px;display:grid}.case-study .case-offline-grid article{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(16px);border-radius:18px;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:16px;padding:18px 20px;transition:transform .18s,border-color .18s,background-color .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 35px #00000012,inset 0 1px #ffffff0d}.case-study .case-offline-grid article:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:color-mix(in srgb, var(--surface) 92%, transparent);transform:translateY(-3px)}.case-study .case-offline-grid article>span{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);background:color-mix(in srgb, var(--accent) 11%, transparent);width:44px;height:44px;color:var(--accent);letter-spacing:.05em;border-radius:14px;place-items:center;font-size:.7rem;font-weight:850;display:grid}.case-study .case-offline-grid article>div{min-width:0}.case-study .case-offline-grid strong{color:var(--text);margin-top:2px;font-size:.95rem;display:block}.case-study .case-offline-grid article p{color:var(--muted);margin:6px 0 0;font-size:.82rem;line-height:1.55}.case-study .sync-visual{border:1px solid var(--border);background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 44%), color-mix(in srgb, var(--surface) 91%, transparent);-webkit-backdrop-filter:blur(22px);border-radius:clamp(26px,4vw,40px);grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);align-items:center;gap:clamp(18px,3vw,34px);min-height:440px;padding:clamp(26px,4vw,48px);display:grid;position:relative;overflow:hidden;box-shadow:0 38px 85px #0000002b,inset 0 1px #ffffff12}.case-study .sync-visual:before{content:"";pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--border) 28%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 28%, transparent) 1px, transparent 1px);opacity:.3;background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 74%);mask-image:radial-gradient(circle,#000,#0000 74%)}.case-study .sync-terminal,.case-study .sync-server{z-index:1;border:1px solid var(--border);background:color-mix(in srgb, var(--surface-secondary) 88%, transparent);min-height:210px;color:var(--accent);text-align:center;border-radius:23px;flex-direction:column;justify-content:center;align-items:center;padding:24px 18px;display:flex;position:relative;box-shadow:0 18px 45px #0000001a,inset 0 1px #ffffff0d}.case-study .sync-terminal{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.case-study .sync-server{border-color:color-mix(in srgb, #43c994 30%, var(--border))}.case-study .sync-terminal>svg,.case-study .sync-server>svg{margin-bottom:18px}.case-study .sync-terminal strong,.case-study .sync-server strong{color:var(--text);font-size:1rem}.case-study .sync-terminal>span,.case-study .sync-server>span{color:var(--muted);margin-top:5px;font-size:.72rem}.case-study .sync-events{gap:6px;margin-top:21px;display:flex}.case-study .sync-events span{background:color-mix(in srgb, var(--accent) 38%, transparent);width:29px;height:8px;box-shadow:0 0 16px color-mix(in srgb, var(--accent) 17%, transparent);border-radius:999px}.case-study .sync-events span:nth-child(2){opacity:.7}.case-study .sync-events span:nth-child(3){opacity:.4}.case-study .sync-connection{z-index:2;min-width:86px;color:var(--accent);justify-items:center;gap:13px;display:grid;position:relative}.case-study .sync-connection:before,.case-study .sync-connection:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 70%, transparent));width:36px;height:1px;position:absolute;top:18px}.case-study .sync-connection:before{right:calc(50% + 21px)}.case-study .sync-connection:after{left:calc(50% + 21px);transform:scaleX(-1)}.case-study .sync-connection svg{box-sizing:content-box;border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:var(--surface);box-shadow:0 0 28px color-mix(in srgb, var(--accent) 15%, transparent);border-radius:50%;padding:8px;animation:4s linear infinite case-sync-rotate}.case-study .sync-connection span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;font-size:.62rem;font-weight:800}@keyframes case-sync-rotate{to{transform:rotate(360deg)}}@media (width<=1050px){.case-study .case-offline-section>.container{grid-template-columns:1fr}.case-study .offline-copy{max-width:760px}.case-study .sync-visual{width:min(100%,760px);margin-inline:auto}}@media (width<=650px){.case-study .sync-visual{grid-template-columns:1fr;gap:18px;min-height:auto;padding:22px}.case-study .sync-terminal,.case-study .sync-server{min-height:175px}.case-study .sync-connection{min-width:0;padding:8px 0}.case-study .sync-connection:before,.case-study .sync-connection:after{display:none}.case-study .sync-connection span{writing-mode:initial}.case-study .case-offline-grid article{grid-template-columns:42px minmax(0,1fr);padding:16px}.case-study .case-offline-grid article>span{border-radius:12px;width:38px;height:38px}}@media (prefers-reduced-motion:reduce){.case-study .sync-connection svg{animation:none}.case-study .case-offline-grid article{transition:none}}:root,:root[data-theme=light]{--bg:#f7f8fc;--surface:#fff;--surface-2:#eef1f8;--text:#111827;--muted:#5f687a;--line:#dce1eb;--accent:#6d4aff;--accent-2:#8b5cf6;--shadow:0 24px 80px #2126381f;--header:#f7f8fcc2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#080b14;--surface:#101522;--surface-2:#0c111c;--text:#f4f6fb;--muted:#a5aec0;--line:#242b3a;--accent:#8b6cff;--accent-2:#5b8cff;--shadow:0 28px 90px #00000059;--header:#080b14c2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:73px}body{background:var(--bg);color:var(--text);margin:0;font-family:Manrope,sans-serif;line-height:1.65;overflow-x:hidden}body:before{content:"";pointer-events:none;background:radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28%), radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--accent-2) 8%, transparent), transparent 25%);z-index:-1;position:fixed;inset:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1180px,100% - 32px);margin-inline:auto}.section{padding:88px 0}.alt{background:var(--surface-2)}.site-header{z-index:50;background:var(--header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;min-height:72px;display:flex}.brand{letter-spacing:.02em;font-family:Raleway}.brand span{color:var(--accent)}.nav-links{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);gap:6px;padding:24px 16px;transition:all .28s;display:grid;position:fixed;inset:73px 0 auto;transform:translateY(-140%)}.nav-links.is-open{transform:none}.nav-links a{color:var(--muted);border-radius:12px;padding:12px}.nav-links a:hover{background:var(--surface-2);color:var(--text)}.nav-actions{gap:8px;display:flex}.icon-button,.slider-controls button,.social-row a{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid}.hero{place-items:center;min-height:calc(100svh - 72px);padding-top:52px;display:grid;position:relative}.hero-grid{align-items:center;gap:42px;display:grid}.eyebrow,.section-heading>span{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.77rem;font-weight:800}.hero h1{letter-spacing:-.055em;max-width:900px;margin:18px 0 24px;font:700 clamp(2.65rem,10vw,5.8rem)/.98 Space Grotesk}.hero h1 em{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;font-style:normal}.hero-copy>p{color:var(--muted);max-width:700px;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:12px;margin:30px 0;display:flex}.spotlight-button{--x:50%;--y:50%;isolation:isolate;border:1px solid #0000;border-radius:15px;padding:14px 22px;font-weight:800;transition:transform .22s,box-shadow .22s,color .22s;position:relative;overflow:hidden}.spotlight-button:before{content:"";z-index:-1;width:170px;height:170px;left:calc(var(--x) - 85px);top:calc(var(--y) - 85px);opacity:0;background:radial-gradient(circle,#ffffff57,#0000 66%);transition:opacity .2s;position:absolute}.spotlight-button:hover:before{opacity:1}.spotlight-button:hover{box-shadow:0 18px 44px color-mix(in srgb, var(--accent) 34%, transparent);transform:translateY(-4px)scale(1.035)}.spotlight-button:active{transform:translate(2px,2px)scale(.98)}.spotlight-button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff}.spotlight-button.ghost{border-color:var(--line);background:var(--surface)}.hero-areas{color:var(--muted);flex-wrap:wrap;gap:20px;display:flex}.hero-areas span{align-items:center;gap:7px;display:flex}.hero-areas svg{width:18px;color:var(--accent)}.portrait-wrap{width:min(82vw,480px);filter:drop-shadow(0 35px 70px color-mix(in srgb, var(--accent) 20%, transparent));margin:auto;position:relative}.portrait-wrap img{border-radius:42% 58% 65% 35%/40% 40% 60% 60%;animation:12s ease-in-out infinite morph}.portrait-orbit{border:1px solid color-mix(in srgb, var(--accent) 42%, transparent);border-radius:50%;animation:18s linear infinite spin;position:absolute;inset:-5%}.portrait-orbit:after{content:"";background:var(--accent);width:13px;height:13px;box-shadow:0 0 30px var(--accent);border-radius:50%;position:absolute;top:16%;right:5%}.availability{border:1px solid var(--line);background:var(--header);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);border-radius:999px;padding:10px 14px;font-size:.8rem;position:absolute;bottom:5%;left:-5%}.availability i{background:#36d399;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.scroll-hint{animation:2s ease-in-out infinite bob;position:absolute;bottom:18px}.section-heading{margin-bottom:36px}.section-heading h2{letter-spacing:-.045em;margin:10px 0 15px;font:700 clamp(2rem,8vw,3.5rem)/1.05 Space Grotesk}.section-heading p,.about-copy p,.contact-info p{color:var(--muted)}.about-grid{gap:28px;display:grid}.about-photo img{box-shadow:var(--shadow);border-radius:28px}.about-copy .lead{color:var(--text);font-size:1.18rem}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px;display:grid}.stat{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:3px;padding:16px;display:grid}.stat svg{width:19px;color:var(--accent)}.stat strong{font-size:1.35rem}.stat span{color:var(--muted);font-size:.75rem}.services,.skill-grid{gap:14px;margin-top:30px;display:grid}.service-card,.skill-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:24px;transition:all .25s}.service-card:hover,.skill-card:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:var(--shadow);transform:translateY(-6px)}.service-card>svg,.skill-title svg{color:var(--accent)}.service-card h3{margin:14px 0 8px}.service-card p{color:var(--muted);margin:0}.skill-title{align-items:center;gap:12px;display:flex}.tag-cloud{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag-cloud span,.tag-cloud i{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.78rem;font-style:normal}.slider{position:relative}.slider-controls{justify-content:flex-end;gap:8px;margin-bottom:14px;display:flex}.slider-track{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;grid-auto-columns:88%;grid-auto-flow:column;gap:16px;padding:4px 2px 20px;display:grid;overflow-x:auto}.project-card,.photo-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:24px;margin:0;overflow:hidden}.project-image{aspect-ratio:16/10;position:relative;overflow:hidden}.project-image img,.photo-card img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.project-card:hover img,.photo-card:hover img{transform:scale(1.045)}.project-image a{color:#111827;background:#ffffffdb;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:14px;right:14px}.project-copy{padding:22px}.project-copy>span{color:var(--accent);text-transform:uppercase;font-size:.76rem;font-weight:800}.project-copy h3{margin:5px 0;font-size:1.6rem}.project-copy p{color:var(--muted)}.photo-section{color:#f6f7fb;background:#05070c}.photo-section .section-heading p{color:#a5aec0}.photo-section .slider-controls button{color:#fff;background:#111624;border-color:#293041}.photo-card{border-color:#202636;height:480px;position:relative}.photo-card figcaption{background:linear-gradient(#0000,#000000d1);justify-content:space-between;align-items:end;padding:70px 24px 22px;display:flex;position:absolute;inset:auto 0 0}.photo-card figcaption span{color:#a9a1ff}.photo-card figcaption strong{font-size:1.25rem}.contact-grid{gap:30px;display:grid}.contact-info{align-content:start;gap:18px;display:grid}.contact-info>a,.contact-info>span{align-items:center;gap:10px;display:flex}.contact-info svg{color:var(--accent)}.social-row{gap:8px;display:flex}.contact-form{gap:16px;display:grid}.contact-form label{gap:7px;font-size:.85rem;font-weight:700;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:13px;outline:none;padding:14px 15px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent)}.submit-button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:15px 20px;font-weight:800;transition:all .22s;display:flex}.submit-button:hover{box-shadow:0 16px 38px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-3px)}.contact-form small{color:var(--muted)}footer{border-top:1px solid var(--line);padding:26px 0}.footer-inner{color:var(--muted);flex-direction:column;align-items:flex-start;gap:12px;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}@keyframes morph{0%,to{border-radius:42% 58% 65% 35%/40% 40% 60% 60%}50%{border-radius:60% 40% 35% 65%/50% 65% 35% 50%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(8px)}}@media (width>=720px){.section{padding:60px 0}.services{grid-template-columns:repeat(2,1fr)}.skill-grid{grid-template-columns:repeat(3,1fr)}.slider-track{grid-auto-columns:47%}.contact-grid{grid-template-columns:.8fr 1.2fr}.footer-inner{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=960px){.menu-button{display:none}.nav-links{box-shadow:none;background:0 0;border:0;padding:0;display:flex;position:static;transform:none}.hero-grid{grid-template-columns:1.18fr .82fr}.about-grid{grid-template-columns:.75fr 1.25fr;align-items:center}.services{grid-template-columns:repeat(4,1fr)}.slider-track{grid-auto-columns:32%}.photo-card{height:560px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.photo-card-button{width:100%;height:100%;color:inherit;text-align:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.photo-card-button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.photo-expand-icon{z-index:3;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;background:#06080e94;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:44px;height:44px;transition:opacity .25s,transform .25s,background .25s;display:grid;position:absolute;top:16px;right:16px;transform:scale(.8)}.photo-card:hover .photo-expand-icon,.photo-card-button:focus-visible .photo-expand-icon{opacity:1;transform:scale(1)}.photo-card-button:hover .photo-expand-icon{background:color-mix(in srgb, var(--accent) 78%, transparent)}.photo-lightbox{z-index:1000;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(24px)saturate(120%);backdrop-filter:blur(24px)saturate(120%);cursor:zoom-out;background:#020409d1;place-items:center;animation:.28s both photo-lightbox-backdrop-in;display:grid;position:fixed;inset:0}.photo-lightbox-content{cursor:default;background:radial-gradient(circle at 50% 25%,#8b6cff1a,#0000 42%),#05070cf5;border:1px solid #ffffff21;border-radius:clamp(18px,3vw,34px);grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1600px);height:min(94svh,1100px);animation:.42s cubic-bezier(.22,1,.36,1) both photo-lightbox-content-in;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 120px #000000a6,inset 0 1px #ffffff12}.photo-lightbox-header{z-index:4;border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 16px 14px 20px;display:flex;position:relative}.photo-lightbox-header>div{gap:1px;min-width:0;display:grid}.photo-lightbox-header span{color:#a9a1ff;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:800}.photo-lightbox-header strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,2vw,1.25rem);overflow:hidden}.photo-lightbox-close,.photo-lightbox-arrow{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;flex:none;place-items:center;transition:transform .2s,background .2s,border-color .2s;display:grid}.photo-lightbox-close{border-radius:50%;width:46px;height:46px}.photo-lightbox-close:hover{background:#ffffff26;border-color:#ffffff4d;transform:rotate(6deg)scale(1.05)}.photo-lightbox-close:focus-visible,.photo-lightbox-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.photo-lightbox-stage{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(8px,2vw,24px);min-height:0;padding:clamp(10px,2vw,28px);display:grid;position:relative;overflow:hidden}.photo-lightbox-image-wrapper{justify-content:center;align-items:center;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.photo-lightbox-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:clamp(10px,1.4vw,18px);width:auto;max-width:100%;height:auto;max-height:100%;animation:.36s cubic-bezier(.22,1,.36,1) both photo-lightbox-image-in;box-shadow:0 22px 70px #00000075}.photo-lightbox-arrow{z-index:3;border-radius:18px;width:50px;height:64px;position:relative}.photo-lightbox-arrow:hover{background:#ffffff26;border-color:#ffffff47;transform:scale(1.06)}.photo-lightbox-arrow:active{transform:scale(.94)}.photo-lightbox-footer{color:#a5aec0;border-top:1px solid #ffffff17;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:12px 20px;font-size:.78rem;display:flex}.photo-lightbox-footer p{color:#d8dce6;margin:0}.photo-lightbox-footer span{flex:none}@media (width<=719px){.photo-expand-icon{opacity:1;width:40px;height:40px;top:12px;right:12px;transform:none}.photo-lightbox{padding:0}.photo-lightbox-content{border:0;border-radius:0;width:100%;height:100svh}.photo-lightbox-header{min-height:64px;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left))}.photo-lightbox-stage{touch-action:pan-y;padding:8px;display:block}.photo-lightbox-image-wrapper{width:100%;height:100%}.photo-lightbox-image{width:100%;height:auto;max-height:100%}.photo-lightbox-arrow{background:#0000006b;width:44px;height:56px;position:absolute;top:50%;transform:translateY(-50%)}.photo-lightbox-arrow:hover{transform:translateY(-50%)}.photo-lightbox-arrow:active{transform:translateY(-50%)scale(.92)}.photo-lightbox-arrow-left{left:12px}.photo-lightbox-arrow-right{right:12px}.photo-lightbox-footer{min-height:54px;padding:10px max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.photo-lightbox-footer span{display:none}}@keyframes photo-lightbox-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes photo-lightbox-content-in{0%{opacity:0;transform:scale(.94)translateY(18px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes photo-lightbox-image-in{0%{opacity:0;filter:blur(5px);transform:scale(.96)}to{opacity:1;filter:blur();transform:scale(1)}}@media (prefers-reduced-motion:reduce){.photo-lightbox,.photo-lightbox-content,.photo-lightbox-image{animation:none}}.theme-toggle{border:1px solid var(--border-color);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-color) 92%, white), var(--surface-color));width:46px;height:46px;color:var(--text-color);cursor:pointer;isolation:isolate;border-radius:50%;flex:none;place-items:center;padding:0;transition:transform .18s,border-color .25s,box-shadow .25s,background-color .25s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #0000001a,inset 0 1px #ffffff24}.theme-toggle:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--accent-color) 32%, transparent), transparent 66%);opacity:0;transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1);position:absolute;inset:4px;transform:scale(.65)}.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent-color) 62%, var(--border-color));box-shadow:0 14px 34px #00000026, 0 0 24px color-mix(in srgb, var(--accent-color) 20%, transparent);transform:translateY(-2px)}.theme-toggle:hover:before{opacity:1;transform:scale(1)}.theme-toggle:active{transform:translateY(0)scale(.92)}.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-color) 70%, transparent);outline-offset:4px}.theme-toggle-icons{width:22px;height:22px;display:block;position:relative}.theme-toggle-icons svg{margin:auto;transition:opacity .35s,transform .5s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.theme-toggle-sun{color:#f4a91f}.theme-toggle-moon{color:#9fa8ff}:root[data-theme=light] .theme-toggle-sun{opacity:1;transform:rotate(0)scale(1)}:root[data-theme=light] .theme-toggle-moon{opacity:0;transform:rotate(-110deg)scale(.25)}:root[data-theme=dark] .theme-toggle-sun{opacity:0;transform:rotate(120deg)scale(.25)}:root[data-theme=dark] .theme-toggle-moon{opacity:1;transform:rotate(0)scale(1)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.theme-transition-active{view-transition-name:root}html.theme-transition-active::view-transition-new(root){clip-path:circle(0 at var(--theme-transition-x,50%) var(--theme-transition-y,50%))}html:not(.theme-transition-active),html:not(.theme-transition-active) body,html:not(.theme-transition-active) header,html:not(.theme-transition-active) nav,html:not(.theme-transition-active) main,html:not(.theme-transition-active) section,html:not(.theme-transition-active) footer{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle:before,.theme-toggle-icons svg{transition:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}
