:root{--r:12px;--r2:16px;--max:1160px;--accent:#4F46E5;--accent2:#6D28D9;--accent3:#F97316;--accent4:#FB923C;--cta:#15803D;--cta2:#16A34A;--call:#15803D;--call2:#16A34A;--good:#16A34A;--notify:var(--accent3);--notify2:var(--accent4);--bg0:#0B0A14;--bg1:#12101C;--fg:#F3F0FF;--muted:#C4BDD9;--muted2:#A89FBF;--line:#2A2640;--surface:#151320;--surface2:#1C1830;--shadow:0 25px 80px -15px rgba(79,70,229,.30);--shadow-soft:0 18px 48px rgba(0,0,0,.34);--g1:#4F46E5;--g2:#6D28D9;--g3:#F97316;--header-bg:color-mix(in srgb, var(--bg0) 82%, transparent);--footer-bg:var(--surface);--overlay:var(--surface2);--focus:#C4B5FD;--focus-ring:0 0 0 3px var(--bg0),0 0 0 6px var(--focus);--radius-btn:10px}html[data-theme=light]{--bg0:#F8F7FC;--bg1:#FFFFFF;--fg:#1A1625;--muted:#4A445C;--muted2:#5B5670;--line:#E4E0F0;--surface:#FFFFFF;--surface2:#F3F1F8;--shadow:0 25px 80px -20px rgba(79,70,229,.14);--shadow-soft:0 16px 40px rgba(26,22,37,.08);--header-bg:color-mix(in srgb, #FFFFFF 88%, transparent);--footer-bg:#F3F1F8;--overlay:var(--surface2);--good:#15803D;--cta:#15803D;--cta2:#16A34A;--call:#15803D;--call2:#16A34A;--focus:#4F46E5;--focus-ring:0 0 0 3px #fff,0 0 0 6px var(--focus)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-padding-top:96px}body{margin:0;font-family:Sora,system-ui,-apple-system,sans-serif;color:var(--fg);background:linear-gradient(180deg,var(--bg0),var(--bg1));line-height:1.55;overflow-x:hidden}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{opacity:.95}img{max-width:100%;display:block}:focus,main:focus{outline:0}main:focus-visible{outline:0;box-shadow:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:var(--focus-ring)}.btn:focus-visible,.burger:focus-visible,.footer a:focus-visible,.lang__btn:focus-visible,.mobile__inner a:focus-visible,.nav a:focus-visible,.project-card:focus-visible,.theme-toggle:focus-visible,.work:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:var(--focus-ring);opacity:1}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.muted{color:var(--muted)}.tiny{font-size:12px}.text-gradient{color:var(--accent2);background:linear-gradient(90deg,#818cf8,#c4b5fd);background-size:120% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:24s ease-in-out infinite gradient-shift-subtle}html[data-theme=light] .text-gradient{background:linear-gradient(90deg,#4f46e5,#6d28d9);background-size:120% auto;-webkit-background-clip:text;background-clip:text;color:transparent}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.text-gradient{color:#818cf8;background:0 0}html[data-theme=light] .text-gradient{color:#4f46e5;background:0 0}}@media (forced-colors:active){.text-gradient{color:LinkText;background:0 0;-webkit-background-clip:unset;background-clip:unset;forced-color-adjust:auto}.btn--call,.btn--primary,.card__icon,.hero-ribbon__icon,.work__icon{forced-color-adjust:none}}.skip{position:absolute;left:16px;top:16px;z-index:1000;padding:12px 16px;background:var(--surface2);border:2px solid var(--focus);border-radius:10px;color:var(--fg);font-weight:600;transform:translateY(-200%);transition:transform .15s}.skip:focus,.skip:focus-visible{transform:translateY(0);outline:3px solid var(--focus);outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.header__inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em;transition:opacity .2s}.brand:hover{opacity:.85}.brand__mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent));border:0}.brand__name{font-size:22px;font-weight:800;letter-spacing:-.03em}.nav{display:flex;gap:4px;align-items:center}.nav a{font-size:14px;font-weight:500;color:var(--muted);padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:8px;transition:color .2s,background .2s}.nav a:hover{color:var(--fg);background:color-mix(in srgb,var(--surface2) 80%,transparent);opacity:1}.header__actions{display:flex;gap:8px;align-items:center}.header__actions>*{height:36px;min-height:36px}.lang{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);height:36px;padding:3px;box-sizing:border-box}.lang__btn{appearance:none;border:0;background:0 0;padding:0 10px;min-width:34px;height:100%;min-height:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--muted);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1;transition:background .15s,color .15s}.lang__btn:hover{color:var(--fg);background:color-mix(in srgb,var(--surface) 70%,transparent)}.lang__btn[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.12)}.mobile__lang{justify-content:flex-start}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.burger{display:none;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface2);color:var(--fg);padding:0;cursor:pointer}.burger span{display:block;width:16px;height:2px;background:var(--fg);margin:4px auto;border-radius:2px}.mobile{border-top:1px solid var(--line);background:var(--bg0)}.mobile__inner{display:grid;gap:8px;padding:14px 0 18px}.mobile__inner a{padding:14px 16px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-weight:500;display:flex;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;min-height:44px;border-radius:var(--radius-btn);border:1px solid transparent;background:var(--surface2);color:var(--fg);font-weight:600;font-size:14px;font-family:inherit;box-shadow:none;transition:background .2s,border-color .2s,color .2s,filter .2s}.btn__arrow{transition:transform .25s}.btn:hover .btn__arrow,button.btn:hover .btn__arrow{transform:translateX(3px)}.btn--lg{padding:15px 22px;font-size:15px;border-radius:12px}.btn--primary{background:linear-gradient(135deg,var(--cta2),var(--cta));background-size:115% 115%;animation:22s ease-in-out infinite gradient-shift-subtle;border-color:transparent;color:#fff}.btn--primary:hover{filter:brightness(1.05);opacity:1}.btn--call{background:linear-gradient(135deg,var(--accent2),var(--accent));background-size:115% 115%;animation:22s ease-in-out infinite gradient-shift-subtle;border-color:transparent;color:#fff}.btn--call:hover{filter:brightness(1.05);opacity:1}.btn__icon{width:18px;height:18px;flex-shrink:0;display:block}.btn--ghost{background:var(--surface2);border-color:var(--line);color:var(--fg)}.btn--ghost:hover{background:color-mix(in srgb,var(--surface2) 70%,var(--fg));border-color:color-mix(in srgb,var(--line) 60%,var(--fg));color:var(--fg);opacity:1}.btn--small{height:36px;min-height:36px;padding:0 12px;font-size:12px}.hero{position:relative;padding:36px 0 40px;display:flex;align-items:flex-start}.hero__atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero__photo{position:absolute;inset:0;background:url("../img/alkmaar.jpg") center 42%/cover no-repeat;opacity:.38;transform:scale(1.02)}.hero__photo-scrim{position:absolute;inset:0;background:linear-gradient(105deg,color-mix(in srgb,var(--bg0) 55%,transparent) 0,color-mix(in srgb,var(--bg0) 28%,transparent) 55%,color-mix(in srgb,var(--bg0) 40%,transparent) 100%)}.hero__grid{position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent2) 28%,transparent) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 70% 60% at 40% 30%,black,transparent 75%);opacity:.35}.hero__glow{position:absolute;border-radius:999px;filter:blur(70px);animation:14s ease-in-out infinite alternate glow-drift}.hero__glow--a{width:620px;height:620px;top:-180px;left:-160px;background:color-mix(in srgb,var(--accent) 28%,transparent)}.hero__glow--b{width:480px;height:480px;top:-60px;right:-10%;background:color-mix(in srgb,var(--accent3) 18%,transparent);animation-delay:-4s}.hero__glow--c{width:520px;height:420px;bottom:-20%;left:20%;background:color-mix(in srgb,var(--accent2) 14%,transparent);animation-delay:-8s}.hero__noise{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero__fade{position:absolute;inset-inline:0;bottom:0;height:80px;background:linear-gradient(to bottom,transparent,var(--bg1))}.hero__grid-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr minmax(160px,280px);gap:clamp(24px,4vw,40px);align-items:center}.eyebrow,.kicker{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.hero h1{margin:0 0 10px;font-size:clamp(20px, 2.4vw, 30px);line-height:1.2;letter-spacing:-.02em;font-weight:600;max-width:24ch}.lead{margin:0 0 18px;color:var(--muted);font-size:clamp(14px, 1.15vw, 16px);line-height:1.5;max-width:46ch}.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:0;align-items:center}.hero__cta .btn--lg{padding:10px 16px;font-size:14px;min-height:40px;border-radius:10px}.hero__cta .btn--lg.btn--person{padding-left:8px}.hero__visual{position:relative;width:100%;max-width:280px;justify-self:end;min-height:0}.idea-cloud{list-style:none;margin:0;padding:0;position:relative;width:100%;aspect-ratio:1.1/1;min-height:200px}.idea-cloud__item{position:absolute;margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.1;color:color-mix(in srgb,var(--muted) 78%,var(--fg));white-space:nowrap;user-select:none;animation:9s ease-in-out infinite idea-drift}.idea-cloud__item--a{left:4%;top:6%;font-size:clamp(13px, 1.35vw, 18px);color:var(--fg);animation-delay:-1s}.idea-cloud__item--b{left:52%;top:2%;font-size:clamp(13px, 1.35vw, 18px);color:#ffb070;font-weight:600;animation-delay:-2.2s}.idea-cloud__item--c{left:68%;top:16%;font-size:clamp(12px, 1.2vw, 15px);animation-delay:-3.4s}.idea-cloud__item--d{left:16%;top:26%;font-size:clamp(10px, 1vw, 12px);color:color-mix(in srgb,var(--accent2) 55%,var(--muted));animation-delay:-.6s}.idea-cloud__item--e{left:40%;top:32%;font-size:clamp(13px, 1.3vw, 17px);color:var(--fg);animation-delay:-4.1s}.idea-cloud__item--f{left:74%;top:40%;font-size:clamp(11px, 1.1vw, 14px);animation-delay:-5s}.idea-cloud__item--g{left:6%;top:46%;font-size:clamp(13px, 1.3vw, 17px);color:#ffc08a;font-weight:600;animation-delay:-1.8s}.idea-cloud__item--h{left:56%;top:52%;font-size:clamp(10px, 1vw, 12px);animation-delay:-3s}.idea-cloud__item--i{left:26%;top:62%;font-size:clamp(12px, 1.25vw, 16px);color:var(--fg);animation-delay:-4.7s}.idea-cloud__item--j{left:66%;top:66%;font-size:clamp(12px, 1.2vw, 15px);color:#ffb070;font-weight:600;animation-delay:-2.5s}.idea-cloud__item--k{left:10%;top:76%;font-size:clamp(10px, .95vw, 12px);color:color-mix(in srgb,var(--accent2) 45%,var(--muted));animation-delay:-5.5s}.idea-cloud__item--l{left:44%;top:82%;font-size:clamp(11px, 1.1vw, 14px);animation-delay:-.3s}html[data-theme=light] .idea-cloud__item--b,html[data-theme=light] .idea-cloud__item--j{color:#e8792f}html[data-theme=light] .idea-cloud__item--g{color:#f59a4c}@keyframes idea-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.btn--person{padding-left:8px;gap:8px}.btn__photo{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:center 18%;flex-shrink:0;box-shadow:0 0 0 1.5px color-mix(in srgb,#fff 55%,transparent)}.btn--lg.btn--person{padding:10px 16px 10px 8px;font-size:14px;min-height:40px;border-radius:10px}.btn--lg .btn__photo{width:24px;height:24px}.btn--small.btn--person{padding-left:5px;padding-right:12px;gap:7px;height:36px;min-height:36px;font-size:12px}.btn--small .btn__photo{width:22px;height:22px}.browser{position:relative;border-radius:14px;overflow:hidden;background:#fff;color:#0f172a;border:1px solid;box-shadow:var(--shadow);animation:7s ease-in-out infinite float-y}.browser__chrome{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#e5e7eb}.fake-dots{display:flex;gap:6px}.fake-dots span{width:10px;height:10px;border-radius:999px;background:#c4c8ce}.fake-dots span:first-child{background:#ff5f57}.fake-dots span:nth-child(2){background:#febc2e}.fake-dots span:nth-child(3){background:#28c840}.browser__url{flex:1;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#f3f4f6;color:#64748b;font-size:11px}.browser__body{padding:16px;display:grid;gap:12px;background:#fff}.browser__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.fake-title{font-size:13px;font-weight:700;color:#0f172a}.live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--notify) 16%,#fff7ed);color:#c2410c;font-size:11px;font-weight:600}.live-badge__ping{width:6px;height:6px;border-radius:999px;background:var(--notify);box-shadow:0 0 0 0 color-mix(in srgb,var(--notify) 55%,transparent);animation:1.6s infinite ping}.metric{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:12px}.metric__label{font-size:12px;color:#64748b}.metric__value{font-size:18px;font-weight:700;margin-top:2px;color:#0f172a}.bar{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:10px}.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--notify),var(--notify2));background-size:115% 100%;animation:.9s both grow-x,22s ease-in-out infinite gradient-shift-subtle;transform-origin:left}.bar span.w-78{width:78%}.bar span.w-96{width:96%}.bar span.w-32{width:32%}.hero-ribbon{position:relative;z-index:2;margin:-8px 14px 0;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,#020617 92%,transparent);color:#fff;border:1px solid;box-shadow:var(--shadow-soft);backdrop-filter:blur(10px)}.hero-ribbon__icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2),var(--accent));border:0}.hero-ribbon strong{display:block;font-size:13px;margin-bottom:2px}.hero-ribbon__text{display:block;font-size:12px;color:rgba(255,255,255,.72);line-height:1.4}.section{padding:88px 0}.section--alt{background:radial-gradient(700px 280px at 20% 0,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--surface2) 70%,transparent),transparent 90%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section__head{margin-bottom:36px;max-width:720px}.page-title,.section__head h2{margin:0 0 12px;font-size:clamp(30px, 4vw, 48px);letter-spacing:-.035em;font-weight:800;line-height:1.1}.section__head p{margin:0;max-width:56ch;font-size:17px;line-height:1.65}.about{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(28px,5vw,56px);align-items:center}.about__photo{position:relative;margin:0;aspect-ratio:1;overflow:hidden;border-radius:18px}.about__photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}.about__badge{position:absolute;left:14px;bottom:14px;z-index:1;display:grid;gap:2px;max-width:calc(100% - 28px);padding:10px 14px;border-radius:14px;border:1px solid;background:color-mix(in srgb,var(--bg0) 72%,transparent);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.28);color:#fff}.about__badge strong{font-size:14px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.about__badge span{font-size:12px;font-weight:500;color:color-mix(in srgb,#fff 78%,transparent);line-height:1.3}.about__copy h2{margin:0 0 18px;font-size:clamp(28px, 3.6vw, 42px);letter-spacing:-.035em;font-weight:800;line-height:1.1}.about__copy .lead{margin:0 0 14px;font-size:18px;line-height:1.55;max-width:38ch}.about__copy>.muted{margin:0;max-width:48ch;font-size:16px;line-height:1.65}.page-hero{position:relative;padding:48px 0 28px;overflow:hidden}.page-hero__atmosphere{position:absolute;inset:0;pointer-events:none}.page-hero__grid{position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent2) 22%,transparent) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 70% 60% at 30% 20%,black,transparent 75%);opacity:.7}.page-hero__glow{position:absolute;width:520px;height:320px;left:-80px;top:-120px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);filter:blur(60px)}.page-hero__inner{position:relative;z-index:1;max-width:720px}.page-hero .lead{margin:0;max-width:48ch}.page-hero__date{display:block;margin:0 0 10px;font-size:13px;color:var(--muted)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;color:var(--muted)}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--text)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:clamp(28px,5vw,56px);align-items:start}.prose{max-width:68ch}.prose>:first-child{margin-top:0}.prose h2{margin:1.6em 0 .55em;font-size:clamp(22px, 2.4vw, 28px);letter-spacing:-.03em;font-weight:800;line-height:1.2}.prose p{margin:0 0 1em;font-size:16.5px;line-height:1.7;color:color-mix(in srgb,var(--text) 92%,var(--muted))}.prose ul{margin:0 0 1.2em;padding-left:1.2em;display:grid;gap:8px;font-size:16px;line-height:1.6;color:color-mix(in srgb,var(--text) 92%,var(--muted))}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--accent2)}.content-aside{position:sticky;top:96px;padding:18px 0 0}.content-aside h2{margin:0 0 12px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.content-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}.content-links a{display:block;font-size:14px;line-height:1.45;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:10px}.content-links a:hover{color:var(--accent)}.text-link{display:inline-flex;margin-top:12px;font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.text-link:hover{color:var(--accent2)}.card .text-link{margin-top:16px}.projects{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.project{border-radius:var(--r2);border:1px solid var(--line);background:var(--surface);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}.project:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow-soft)}.project__media{position:relative;isolation:isolate;min-height:168px;overflow:hidden;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,#fff 90%,transparent) 0,transparent 45%),radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--accent) 40%,#fff) 0,transparent 42%),radial-gradient(circle at 70% 85%,color-mix(in srgb,var(--accent2) 50%,#fff) 0,transparent 48%),linear-gradient(135deg,#fff 0,#faf5ff 28%,#ede9fe 58%,#c4b5fd 100%);background-size:140% 140%,180% 180%,200% 200%,220% 220%;animation:28s ease-in-out infinite gradient-shift-subtle;border-bottom:1px solid color-mix(in srgb,var(--accent2) 20%,var(--line));display:flex;align-items:center;justify-content:center;padding:28px 24px}.project__media--b{background:radial-gradient(circle at 75% 25%,color-mix(in srgb,#fff 88%,transparent) 0,transparent 45%),radial-gradient(circle at 15% 80%,color-mix(in srgb,var(--notify) 40%,#fff) 0,transparent 48%),radial-gradient(circle at 40% 20%,color-mix(in srgb,var(--accent2) 45%,#fff) 0,transparent 42%),linear-gradient(160deg,#fff 0,#fff7ed 32%,#ffedd5 62%,#fdba74 100%);background-size:140% 140%,180% 180%,200% 200%,220% 220%}.project__media--c{background:radial-gradient(circle at 50% 10%,color-mix(in srgb,#fff 85%,transparent) 0,transparent 40%),radial-gradient(circle at 15% 70%,color-mix(in srgb,var(--cta) 28%,#fff) 0,transparent 48%),radial-gradient(circle at 90% 75%,color-mix(in srgb,var(--accent) 40%,#fff) 0,transparent 50%),linear-gradient(150deg,#fff 0,#ecfdf5 30%,#ede9fe 65%,#a5b4fc 100%);background-size:140% 140%,180% 180%,200% 200%,220% 220%}.project__media::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent2) 18%,transparent) 1px,transparent 1px);background-size:18px 18px;opacity:.3;mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black,transparent 75%);pointer-events:none;z-index:0}.project__media img{position:relative;z-index:1;width:min(100%,180px);height:88px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(79,70,229,.14))}.project__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}.project__tag{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.project__title{margin:0;font-size:clamp(18px, 2vw, 22px);letter-spacing:-.02em;font-weight:700;line-height:1.25}.project__body .muted{margin:4px 0 0;font-size:15px;line-height:1.65}.projects__back{margin-top:28px}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{border-radius:var(--r2);border:1px solid var(--line);background:var(--surface);overflow:hidden;display:grid;grid-template-rows:168px 1fr;transition:transform .3s,box-shadow .3s,border-color .3s}.project-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-soft);opacity:1}.project-card__media{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,#fff 90%,transparent) 0,transparent 45%),radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--accent4) 45%,#fff) 0,transparent 42%),radial-gradient(circle at 70% 85%,color-mix(in srgb,var(--accent2) 50%,#fff) 0,transparent 48%),linear-gradient(135deg,#fff 0,#faf5ff 28%,#ede9fe 58%,#c4b5fd 100%);background-size:140% 140%,180% 180%,200% 200%,220% 220%;animation:28s ease-in-out infinite gradient-shift-subtle;border-bottom:1px solid color-mix(in srgb,var(--accent2) 20%,var(--line));display:flex;align-items:center;justify-content:center;padding:24px}.project-card__media::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent2) 18%,transparent) 1px,transparent 1px);background-size:18px 18px;opacity:.35;mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black,transparent 75%);pointer-events:none;z-index:0}.project-card:nth-child(2) .project-card__media{background:radial-gradient(circle at 75% 25%,color-mix(in srgb,#fff 88%,transparent) 0,transparent 45%),radial-gradient(circle at 15% 80%,color-mix(in srgb,var(--accent3) 40%,#fff) 0,transparent 48%),radial-gradient(circle at 40% 20%,color-mix(in srgb,var(--accent2) 45%,#fff) 0,transparent 42%),linear-gradient(160deg,#fff 0,#fff7ed 32%,#ffedd5 62%,#fdba74 100%);background-size:140% 140%,180% 180%,200% 200%,220% 220%;animation:30s ease-in-out infinite reverse gradient-shift-subtle}.project-card:nth-child(3) .project-card__media{background:radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--accent4) 50%,#fff) 0,transparent 40%),radial-gradient(circle at 10% 60%,color-mix(in srgb,#fff 85%,transparent) 0,transparent 45%),radial-gradient(circle at 90% 75%,color-mix(in srgb,var(--accent) 40%,#fff) 0,transparent 50%),linear-gradient(200deg,#fff 0,#eff6ff 25%,#e9d5ff 55%,#a78bfa 100%);background-size:140% 140%,180% 180%,200% 200%,220% 220%;animation:32s ease-in-out infinite gradient-shift-subtle}.project-card__media img{position:relative;z-index:1;width:auto;height:auto;max-width:72%;max-height:72%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(79,70,229,.16))}.project-card__body{padding:18px 18px 20px}.project-card__title{font-weight:700;letter-spacing:-.02em;font-size:16px;line-height:1.35}.project-card__desc{margin-top:8px;font-size:14px;line-height:1.55}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border-radius:var(--r2);border:1px solid var(--line);background:var(--surface);padding:28px 24px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .35s}.card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-soft)}.card__icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;margin-bottom:18px;border:0;flex-shrink:0}.card h3{margin:0 0 10px;font-size:22px;letter-spacing:-.02em;font-weight:700}.card p{margin:0 0 16px;color:var(--muted);line-height:1.6;flex:1}.list{margin:auto 0 0;padding:0;list-style:none;color:var(--muted)}.list li{position:relative;padding-left:22px;margin:10px 0;font-size:14px}.list li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border:2px solid var(--accent2);border-radius:999px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work{border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .35s,box-shadow .35s,border-color .35s}.work:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-soft);opacity:1}.work__thumb{height:180px;position:relative;display:grid;place-items:center;background:radial-gradient(280px 150px at 30% 30%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 65%),radial-gradient(300px 160px at 75% 70%,color-mix(in srgb,var(--accent2) 24%,transparent),transparent 65%),linear-gradient(135deg,var(--surface2),var(--surface))}.work__thumb--b{background:radial-gradient(280px 150px at 70% 25%,color-mix(in srgb,var(--accent3) 28%,transparent),transparent 65%),radial-gradient(300px 160px at 25% 75%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 65%),linear-gradient(135deg,var(--surface2),var(--surface))}.work__thumb--c{background:radial-gradient(280px 150px at 40% 40%,color-mix(in srgb,var(--accent2) 24%,transparent),transparent 65%),radial-gradient(300px 160px at 80% 60%,color-mix(in srgb,var(--accent3) 22%,transparent),transparent 65%),linear-gradient(135deg,var(--surface2),var(--surface))}.work__icon{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border:0}.work__icon svg{width:28px;height:28px}.work__tag{position:absolute;left:14px;top:14px;padding:7px 11px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(8px);color:var(--muted);font-size:12px;font-weight:600}.work__meta{padding:18px 18px 20px}.work__title{font-weight:700;letter-spacing:-.015em;font-size:17px}.work__desc{margin-top:6px;font-size:14px}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:step}.step{border-radius:var(--r2);border:1px solid var(--line);background:var(--surface);padding:24px;transition:transform .3s,border-color .3s,box-shadow .3s}.step:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:var(--shadow-soft)}.step__n{display:inline-flex;align-items:center;gap:8px;color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:700;text-transform:uppercase}.step h3{margin:14px 0 8px;font-size:20px;letter-spacing:-.02em}.step p{margin:0;color:var(--muted);line-height:1.6}.section--cta{padding:72px 0 96px}.section--custom{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(640px 220px at 10% 0,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),radial-gradient(520px 200px at 90% 100%,color-mix(in srgb,var(--accent2) 12%,transparent),transparent 55%),linear-gradient(180deg,color-mix(in srgb,var(--surface2) 55%,transparent),transparent 100%)}.custom-cta{display:grid;grid-template-columns:1.4fr auto;gap:clamp(20px,4vw,40px);align-items:center}.custom-cta__copy h2{margin:0 0 12px;font-size:clamp(26px, 3.4vw, 40px);letter-spacing:-.035em;font-weight:800;line-height:1.15;max-width:18ch}.custom-cta__copy .lead{margin:0;max-width:46ch;font-size:17px;line-height:1.6;color:var(--muted)}.custom-cta__action{display:flex;justify-content:flex-end}.cta{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;border-radius:20px;border:1px solid var(--line);background:radial-gradient(700px 240px at 15% 20%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 60%),radial-gradient(600px 220px at 90% 10%,color-mix(in srgb,var(--accent2) 12%,transparent),transparent 60%),var(--surface);box-shadow:var(--shadow-soft);padding:40px}.cta h2{margin:0 0 10px;font-size:clamp(26px, 3vw, 40px);letter-spacing:-.03em;font-weight:800}.cta .eyebrow{margin-bottom:10px}.contact-card{border-radius:16px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 70%,transparent);padding:20px;display:grid;gap:14px;width:100%;max-width:320px;justify-self:end}.contact-card__actions{display:grid;grid-template-columns:1fr;gap:10px}.contact-card__actions .btn{width:100%;justify-content:flex-start;padding-inline:16px}.booking{width:min(860px,calc(100% - 40px));max-height:min(92vh,900px);padding:0;border:1px solid var(--line);border-radius:20px;background:radial-gradient(640px 280px at 12% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 58%),radial-gradient(520px 240px at 92% 18%,color-mix(in srgb,var(--accent2) 12%,transparent),transparent 55%),var(--surface);color:var(--fg);box-shadow:var(--shadow-soft);overflow:hidden}.booking::backdrop{background:color-mix(in srgb,#0b0a14 58%,transparent);backdrop-filter:blur(8px)}.booking__panel{display:grid;gap:28px;padding:32px 36px 36px;overflow:auto;max-height:min(92vh,900px)}.booking__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.booking__header h2{margin:0 0 8px;font-size:clamp(26px, 3vw, 34px);letter-spacing:-.035em;font-weight:800;line-height:1.15}.booking__header .eyebrow{margin-bottom:8px}.booking__header .muted{margin:0;max-width:46ch;font-size:15px;line-height:1.55}.booking__close{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 80%,transparent);color:var(--fg);font-size:26px;line-height:1;cursor:pointer;flex-shrink:0;transition:border-color .2s,background .2s}.booking__close:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--surface2)}.booking__body{display:grid;grid-template-columns:1.35fr .95fr;gap:28px 36px;align-items:start}.booking__schedule{display:grid;gap:18px;min-width:0}.booking__nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking__nav-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 80%,transparent);color:var(--fg);font-size:22px;cursor:pointer;transition:border-color .2s,background .2s}.booking__nav-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--surface2)}.booking__nav-btn:disabled{opacity:.4;cursor:not-allowed}.booking__range{margin:0;font-size:14px;font-weight:600;color:var(--muted);text-align:center;letter-spacing:-.01em}.booking__days{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.booking__day{display:grid;gap:4px;place-items:center;padding:14px 8px;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 75%,transparent);color:var(--fg);cursor:pointer;font-family:inherit;min-height:76px;transition:transform .2s,border-color .2s,background .2s}.booking__day:hover:not(:disabled):not([aria-selected=true]){border-color:color-mix(in srgb,var(--accent) 35%,var(--line));transform:translateY(-1px)}.booking__day small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.booking__day strong{font-size:18px;font-weight:700;letter-spacing:-.02em}.booking__day[aria-selected=true]{border-color:transparent;background:linear-gradient(135deg,var(--cta2),var(--cta));color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--cta) 28%,transparent)}.booking__day[aria-selected=true] small{color:color-mix(in srgb,#fff 80%,transparent)}.booking__day:disabled{opacity:.35;cursor:not-allowed}.booking__times{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-height:280px;overflow:auto;padding:2px 4px 2px 0}.booking__time{padding:12px 10px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 75%,transparent);color:var(--fg);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.booking__time:hover:not(:disabled):not([aria-selected=true]){border-color:color-mix(in srgb,var(--accent3) 40%,var(--line));transform:translateY(-1px)}.booking__time[aria-selected=true]{border-color:transparent;background:linear-gradient(135deg,#ff7a1a,#f97316);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,#f97316 26%,transparent)}.booking__time:disabled{opacity:.35;cursor:not-allowed}.booking__empty{grid-column:1/-1;margin:0;padding:24px 16px;text-align:center;color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface2) 50%,transparent)}.booking__form{display:grid;gap:16px;align-content:start;padding:24px;border-radius:16px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 70%,transparent)}.booking__field{display:grid;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}.booking__field input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:500}.booking__field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.booking__summary{margin:4px 0 0;font-size:14px;line-height:1.5;min-height:2.8em}.booking__form .btn{width:100%;justify-content:center;margin-top:4px}.booking__form .btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.footer{padding:56px 0 28px;border-top:1px solid var(--line);background:var(--footer-bg)}.footer__grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:28px;align-items:start}.footer__title{font-weight:700;margin-bottom:12px;letter-spacing:-.01em}.footer a{display:block;color:var(--muted);margin:0;padding:5px 0;min-height:24px;font-size:14px;line-height:1.4}.footer a:hover{color:var(--fg);opacity:1}.footer__address{font-style:normal;color:var(--muted);line-height:1.55;margin:0 0 12px;font-size:14px}.footer__address strong{color:var(--fg)}.footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:16px}.footer__bottom{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.footer__legal{display:inline-block!important;padding:0!important;min-height:0!important;font-size:13px!important;color:var(--muted);text-decoration:none;margin-left:auto}.footer__legal:hover{color:var(--fg);opacity:1}.theme-toggle{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface2);color:var(--fg);display:inline-grid;place-items:center;padding:0;cursor:pointer}.theme-toggle__icon{font-size:14px;line-height:1}@keyframes glow-drift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(40px,24px) scale(1.08)}}@keyframes gradient-shift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes gradient-shift-subtle{0%,100%{background-position:0 50%}50%{background-position:12% 50%}}@keyframes float-y{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}@keyframes grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes reveal-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:1;transform:none}html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}html.js .reveal.is-visible{opacity:1;transform:none}.reveal--delay{transition-delay:.12s}.reveal--delay-2{transition-delay:.24s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal,html.js .reveal--delay,html.js .reveal--delay-2{opacity:1;transform:none;transition:none}.bar span,.brand__mark,.browser,.btn--call,.btn--primary,.card__icon,.hero-ribbon,.hero-ribbon__icon,.hero__glow,.idea-cloud__item,.live-badge__ping,.project-card__media,.project__media,.text-gradient,.visual,.work__icon{animation:none!important}.btn:hover .btn__arrow{transform:none}*{scroll-behavior:auto!important}}@media (max-width:980px){.hero{padding:28px 0 32px}.hero__grid-layout{grid-template-columns:1fr;gap:28px}.hero h1{max-width:none}.hero__visual{min-height:0;max-width:240px;justify-self:start}.idea-cloud{aspect-ratio:1.15/1;min-height:180px}.about,.cards,.content-layout,.project-cards,.steps,.work-grid{grid-template-columns:1fr}.content-aside{position:static;padding-top:8px}.about__photo{max-width:280px}.cta{grid-template-columns:1fr;padding:28px}.custom-cta{grid-template-columns:1fr;gap:20px}.custom-cta__action{justify-content:flex-start}.custom-cta__copy h2{max-width:none}.contact-card{justify-self:stretch;max-width:none}.nav{display:none}.burger{display:inline-grid;place-items:center}.projects{grid-template-columns:1fr}.project-card{grid-template-rows:160px 1fr}.footer__grid{grid-template-columns:1fr}.header__actions .btn--small{display:none}.booking__days{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.booking__times{grid-template-columns:repeat(3,1fr)}.booking__day{padding:10px 4px;min-height:68px}.booking__body{grid-template-columns:1fr;gap:22px}.booking__panel{padding:24px 20px 28px;gap:22px}.booking__form{padding:20px}}