/* Shared 3840 × 2160 satin material; the small variant is the default. */
:root{--satin:url('assets/satin-mobile.webp');--edge:#d8f2ff66}
@media(min-width:1100px) and (pointer:fine){:root{--satin:url('assets/satin-4k.webp')}}
.hero,.section,.contact,footer{position:relative;isolation:isolate}
.hero::before,.section::before,.contact::before,footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--satin);background-size:1920px 1080px;opacity:.13;mix-blend-mode:soft-light}
.services::before,.device-section::before{opacity:.3;mix-blend-mode:multiply}
.hero{background:radial-gradient(ellipse at 76% 38%,#375467 0,#192f40 28%,#09131d 65%,#060d13 100%)}
.hero-title h1 .hero-word{color:#edf6fb;text-shadow:0 1px 0 #fff,0 2px 0 #8ca8ba,0 3px 0 #587384,0 4px 0 #304b5d,0 6px 0 #152f42,0 13px 18px #0007}
.hero-title h1 .hero-word.accent{color:#bde8d4;text-shadow:0 1px 0 #eaffef,0 2px 0 #87bba5,0 3px 0 #5b9079,0 4px 0 #345f4b,0 6px 0 #193a2e,0 13px 18px #0007}
.section{border-top:1px solid #a7cee529;box-shadow:inset 0 1px 0 #e5f4ff09,inset 0 40px 65px -50px #0009}
.services{background:radial-gradient(ellipse at 15% 5%,#fff,transparent 55%),linear-gradient(135deg,#e8f0f5,#c7d8e3 55%,#eff5f7)}
.projects{background:radial-gradient(ellipse at 85% 25%,#294957,transparent 48%),radial-gradient(ellipse at 10% 80%,#173934,transparent 50%),#0a1620}
.details{background:radial-gradient(ellipse at 88% 40%,#2f4b5f,transparent 60%),linear-gradient(130deg,#0a1721,#172d3c)}
.device-section{background:radial-gradient(ellipse at 52% 20%,#fff,transparent 58%),linear-gradient(125deg,#d1e1eb,#eef4f7 50%,#b4cbd9)}
.invitations{background:radial-gradient(ellipse at 24% 25%,#2b4948,transparent 55%),linear-gradient(125deg,#10212c,#0a1822)}
.contact{background:radial-gradient(ellipse at 85% 0,#426557,transparent 58%),linear-gradient(125deg,#173b32,#071e22);box-shadow:inset 0 1px 0 #c1ffdb44,inset 0 40px 80px -65px #a4efbf}
.service-card,.feature-stack article{position:relative;isolation:isolate}
.service-card::before,.feature-stack article::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--satin) center/960px 540px;opacity:.13;mix-blend-mode:soft-light;z-index:-1}
.service-card::after{background:radial-gradient(ellipse at var(--light-x,25%) var(--light-y,5%),#e1f7ff29,transparent 65%),linear-gradient(125deg,#f1fcff0c,transparent 38%,#fff0 65%,#89b4ca10);border:1px solid #daf4ff17}
.service-card{border-color:#a4c0d37a;box-shadow:inset 0 1px 1px #e9faff80,inset 1px 0 0 #d5f0ff22,inset -1px -1px 0 #0005,2px 3px 0 #7494a6,5px 7px 0 #304b5b,8px 11px 0 #112c3e,18px 30px 36px #142d464a}
.card-glyph{filter:drop-shadow(0 12px 10px #0003)}
.project-stage{border-color:#a3c1d1;box-shadow:inset 0 1px 0 #fff9,2px 3px 0 #a0bac9,5px 7px 0 #4b6a7d,8px 11px 0 #203d50,12px 16px 0 #071620,26px 40px 46px #0007}
.browser-top{background:linear-gradient(110deg,#3a5363,#172d3e 60%,#314958);box-shadow:inset 0 1px 0 #e2f5ff50,inset 0 -1px 0 #0005}
.project-stage::after,.invitation-image::after{background:linear-gradient(115deg,transparent 32%,#deefff07 43%,#f1faff26 49%,#ffffff09 53%,transparent 63%);background-size:240% 100%;opacity:.75}
.project-info h3,.invitation-caption h3{ text-shadow:0 1px 0 #ccedff30,0 3px 0 #03121a,0 10px 18px #0004}
.feature-stack article{border-color:#9ab8c666;background-image:linear-gradient(125deg,#3b5364,#203748 48%,#102431);box-shadow:inset 0 1px 0 #ecfaff55,inset 1px 0 0 #b8e2ff16,3px 4px 0 #668597,6px 8px 0 #213d50,16px 25px 32px #0005}
.feature-stack article:nth-child(even){background-image:linear-gradient(125deg,#35574d,#1b3932 55%,#102b27)}
.laptop-screen{background:linear-gradient(135deg,#829aa7,#192e3b 22%,#07141c 65%,#577283);box-shadow:inset 0 1px 1px #fff9,3px 4px 0 #688597,7px 8px 0 #263e4c,0 35px 42px #193a4b55}
.phone-shell{background:linear-gradient(115deg,#a9c1cd,#1d3543 12%,#071721 82%,#718f9e);box-shadow:inset 0 1px 1px #fffc,3px 4px 0 #678b9e,6px 8px 0 #1f3a4b,16px 25px 36px #18364666}
.invitation-image{border-color:#c2d7df99;box-shadow:inset 0 1px 0 #fff,2px 3px 0 #a2b9c5,5px 7px 0 #3b5c6c,8px 11px 0 #132e3b,19px 29px 35px #0006}
.button,.nav-cta,.floating-contact{background-image:linear-gradient(120deg,#ffffff25,transparent 45%,#123b2312);box-shadow:inset 0 1px 1px #fff8,inset 0 -1px 0 #204f3655,0 4px 0 #274f3d,0 7px 0 #08261b,0 15px 25px #0004}
.contact h2{color:#d0f0df;text-shadow:0 1px 0 #f1fff7,0 2px 0 #8cb49c,0 4px 0 #547963,0 6px 0 #2a503e,0 9px 0 #123525,0 22px 32px #0005}
.section-meta:after{background:linear-gradient(90deg,#a7dec9,#eefaff,#789fad);box-shadow:0 1px 0 #03101a,0 0 16px #b0e6da55}
@media(max-width:750px){.hero-title h1 .hero-word,.hero-title h1 .hero-word.accent{text-shadow:0 1px 0 #dff8ee66,0 3px 0 #47665b,0 8px 14px #0005}.hero::before,.section::before,.contact::before{background-size:960px 540px;opacity:.1}.service-card,.project-stage,.feature-stack article,.feature-stack article:nth-child(even),.invitation-image{box-shadow:inset 0 1px 0 #effaff66,2px 3px 0 #728f9f,5px 7px 0 #203a49,12px 18px 24px #0004}.contact h2{text-shadow:0 2px 0 #5e8773,0 4px 0 #264d39,0 12px 20px #0004}}
@media(prefers-reduced-motion:reduce){.project-stage::after,.invitation-image::after{transition:none;background-position:50% 0}}
@media(max-width:750px){.project-info{display:block}.project-info .project-desc{max-width:32ch;margin:18px 0 24px}.project-info .project-brief{display:grid;grid-template-columns:1fr 1fr;margin:0 0 26px}.project-info .project-brief dd{max-width:none}.project-info>a{display:inline-flex;gap:30px}}
