:root{color-scheme:dark;--bg:#202124;--panel:#27292c;--ink:#f2f6f5;--muted:#a7b2b5;--faint:#829197;--line:rgba(215,225,225,.18);--accent:#64e1c6;--accent-blue:#75baff;--max:1580px} *,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--bg)} body{min-width:320px;margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased} a{color:inherit} .page{position:relative;isolation:isolate;display:block;max-width:var(--max);min-height:100svh;margin:0 auto;background:transparent} .visual{position:fixed;z-index:0;inset:0;width:100vw;height:100svh;overflow:hidden;background:var(--bg);pointer-events:none} .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top;filter:none} .content{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:flex-start;min-height:100svh;padding:clamp(32px,5.5vw,82px) clamp(25px,5.5vw,88px) 30px clamp(15px,2vw,30px);text-align:right} .content-inner{width:min(100%,760px);margin-left:auto} .topbar{display:flex;justify-content:flex-end;align-items:center;gap:22px;margin-bottom:clamp(40px,6vh,76px)} .status{display:inline-flex;align-items:center;gap:9px;color:#c1d0d2;font-size:10px;font-weight:700;letter-spacing:.04em} .status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px rgba(100,225,198,.55)} .toplink{color:#c3cdcf;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.02em} .toplink:hover,.footer a:hover,.guide-link:hover{color:var(--accent)} h1{max-width:760px;margin:0 0 20px;font-size:clamp(42px,5.4vw,78px);line-height:.99;letter-spacing:-.055em;font-weight:720} h1 span{color:#d8e6e4} .role{margin:0;color:#d0dcdd;font-size:clamp(14px,1.35vw,18px);font-weight:650;letter-spacing:-.015em} .company{margin:7px 0 0;color:var(--muted);font-size:12px} .intro{max-width:650px;margin:20px 0 0 auto;color:#c0cacc;font-size:14px;line-height:1.75} .actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin:26px 0 0} .button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;padding:0 15px;border:1px solid var(--line);border-radius:7px;background:rgba(14,20,24,.86);color:#e8f1ef;text-decoration:none;font-size:11px;font-weight:750;transition:border-color .18s ease,background .18s ease} .button:hover{border-color:rgba(100,225,198,.55);background:#202a2d} .button-primary{border-color:var(--accent);background:var(--accent);color:#07211e} .button-primary:hover{border-color:#8df0dc;background:#8df0dc;color:#061714} .button svg{width:14px;height:14px;flex:none} .divider{height:1px;margin:34px 0 22px;background:var(--line)} .profile-meta{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0;color:#c0cacc;font-size:10px} .profile-meta span+span::before{content:"/";margin-right:8px;color:#91a0a5} .snapshot{margin-top:18px;padding:18px 20px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(15,20,24,.78);backdrop-filter:blur(8px)} .snapshot-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:13px} .snapshot-head h2,.section-head h2{margin:0;color:#edf2f1;font-size:13px;font-weight:700;letter-spacing:.01em} .snapshot-head small,.section-head small{color:#aab5b8;font-size:10px} .counts{display:flex;justify-content:flex-end;gap:10px;margin-bottom:17px} .count{min-width:120px;padding:8px 12px;border:0;border-left:1px solid var(--line);background:transparent} .count strong{display:block;color:var(--ink);font-size:25px;line-height:1;letter-spacing:-.055em} .count span{display:block;margin-top:6px;color:#c2cbcd;font-size:10px} .stackoverflow .counts,.local-guides .counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))} .stackoverflow .count,.local-guides .count{min-width:0} .local-guides .guide-progress{margin:0 0 15px} .local-guides .guide-progress .track{height:5px} .local-guides .guide-link{display:block;margin-top:14px;color:#c3cdcf;text-align:right;text-decoration:none;font-size:10px;font-weight:700} .section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px} .service-overview,.faq{margin-top:22px;padding:clamp(18px,2vw,24px);border:1px solid var(--line);border-radius:12px;background:rgba(15,20,24,.78);backdrop-filter:blur(8px)} .service-overview .section-head,.faq .section-head{margin-bottom:12px} .section-intro{max-width:640px;margin:0 0 12px auto;color:#c0cacc;font-size:13px;line-height:1.7} .section-intro a{color:var(--accent);text-decoration:none;font-weight:700} .service-list,.faq-list{margin:0;padding:0;list-style:none} .service-item,.faq-item{padding:13px 0;border-top:1px solid var(--line)} .service-item h3,.faq-item h3{margin:0;color:#edf2f1;font-size:13px;font-weight:700} .service-item p,.faq-item p{max-width:640px;margin:5px 0 0 auto;color:#c0cacc;font-size:12px;line-height:1.65} .skills{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px} .skill{min-width:0} .skill-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:#c0cacc;font-size:10px;line-height:1.2} .skill-label strong{color:#edf2f1;font-size:10px} .track{height:4px;overflow:hidden;border-radius:99px;background:rgba(220,230,230,.2)} .track i{display:block;width:var(--value);height:100%;margin-left:auto;border-radius:inherit;background:var(--accent);box-shadow:none} .assessment{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)} .assessment-label{color:#aab5b8;font-size:10px} .badges{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap} .badge{padding:0;color:#e3eeeb;font-size:10px;font-weight:700} .badge-pills{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:11px} .badge-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid rgba(215,225,225,.2);border-radius:999px;background:rgba(255,255,255,.045);color:#e3eeeb;font-size:9px;font-weight:700;white-space:nowrap} .badge-pill::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--accent)} .badge-gold::before{background:#f0c85e} .badge-silver::before{background:#c2ccd0} .badge-bronze::before{background:#d58f69} .badge-map::before{background:#8ab4f8} .stack-badge-details{margin-top:10px} .capabilities{margin-top:24px} .capabilities .section-head{margin-bottom:10px} .capability-list{display:flex;justify-content:flex-end;gap:7px 13px;flex-wrap:wrap} .capability{padding:0;color:#d0d8da;font-size:10px} .footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:27px;padding-top:14px;border-top:1px solid var(--line);color:#a8b4b7;font-size:10px} .footer a{color:#d0d8da;text-decoration:none} a:focus-visible{outline:2px solid var(--accent);outline-offset:3px} @media(max-width:1050px){.content{padding-right:clamp(24px,4vw,55px)}.topbar{margin-bottom:42px}h1{font-size:clamp(42px,5vw,66px)}} @media(max-width:760px){.page{max-width:none}.visual{position:absolute;inset:0 0 auto;width:100%;height:clamp(320px,58svh,520px)}.visual img{object-position:left top}.content{min-height:0;padding:calc(clamp(320px,58svh,520px) + 24px) 22px 28px}.content-inner{width:min(100%,680px)}.topbar{margin:0 0 35px}.intro{max-width:100%}.snapshot{margin-top:25px}} @media(max-width:520px){.visual{height:clamp(360px,58svh,500px)}.content{padding-top:calc(clamp(360px,58svh,500px) + 24px);padding-inline:17px}.topbar{gap:14px;margin-bottom:30px}.status{font-size:9px}.toplink{font-size:10px}h1{font-size:clamp(40px,11vw,54px)}.intro{font-size:13px}.actions{gap:7px}.button{min-height:42px;padding-inline:11px;font-size:10px}.snapshot{padding:15px}.skills{grid-template-columns:1fr;gap:9px}.counts{gap:7px}.count{min-width:0;flex:1;padding:8px}.count strong{font-size:23px}.snapshot-head h2,.section-head h2{font-size:10px}.footer{flex-wrap:wrap}.service-overview,.faq{padding:16px}.assessment{align-items:flex-end;flex-direction:column}.stackoverflow .counts,.local-guides .counts{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}} .visual img{z-index:0} .visual::before{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(ellipse at 28% 36%,rgba(100,225,198,.075),transparent 38%),linear-gradient(90deg,rgba(10,12,14,.02) 0%,rgba(10,12,14,.04) 34%,rgba(15,17,19,.26) 48%,rgba(24,25,27,.72) 72%,#202124 100%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 26%);pointer-events:none} .visual::after{content:"";position:absolute;z-index:1;inset:0;background-image:linear-gradient(rgba(100,225,198,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(100,225,198,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent 34%,rgba(0,0,0,.18) 56%,#000 100%);opacity:.42;pointer-events:none} .content-inner{width:min(100%,780px)} h1{font-size:clamp(40px,4.6vw,68px);line-height:1.01;letter-spacing:-.06em;text-shadow:0 8px 30px rgba(0,0,0,.25);text-wrap:balance} h1 span{color:#d9e8e5} .topbar{gap:16px;flex-wrap:wrap} .toplink{display:inline-flex;align-items:center;gap:6px;transition:color .18s ease,transform .18s ease} .toplink:hover{transform:translateY(-1px)} .social-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round} .toplink-services{padding:6px 9px;border:1px solid rgba(215,225,225,.17);border-radius:999px;background:rgba(255,255,255,.035)} .expertise-rail{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:17px 0 0} .expertise-tag{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(215,225,225,.15);border-radius:999px;background:rgba(16,22,24,.58);color:#dbe4e3;font-size:10px;font-weight:650;letter-spacing:.005em} .expertise-tag svg{width:14px;height:14px;fill:none;stroke:var(--accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none} .button{border-radius:9px;box-shadow:0 5px 18px rgba(0,0,0,.14)} .button svg{width:15px;height:15px} .snapshot,.service-overview,.faq,.profiles-overview{border-color:rgba(215,225,225,.16);border-radius:16px;background:linear-gradient(145deg,rgba(25,31,34,.88),rgba(12,15,17,.82));box-shadow:0 14px 34px rgba(0,0,0,.14);backdrop-filter:blur(12px)} .snapshot{position:relative;overflow:hidden;padding:20px 22px 18px} .snapshot::before,.service-overview::before,.faq::before,.profiles-overview::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(100,225,198,.5),transparent);pointer-events:none} .snapshot-head h2,.section-head h2{display:inline-flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.005em} .section-icon{display:inline-grid;width:28px;height:28px;place-items:center;flex:none;border:1px solid rgba(100,225,198,.25);border-radius:9px;background:rgba(100,225,198,.075);color:var(--accent)} .section-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round} .count{border:1px solid rgba(215,225,225,.11);border-radius:10px;background:rgba(255,255,255,.035);text-align:right} .count strong{font-variant-numeric:tabular-nums} .count span{letter-spacing:.02em} .skill-label strong{font-variant-numeric:tabular-nums} .track{height:5px;background:rgba(220,230,230,.12)} .track i{background:linear-gradient(90deg,#7df0d8,#75baff);box-shadow:0 0 12px rgba(100,225,198,.28)} .badge-pill{border-color:rgba(215,225,225,.15);background:rgba(255,255,255,.055)} .service-overview,.faq,.profiles-overview{position:relative;overflow:hidden;padding:clamp(19px,2.1vw,26px)} .service-list{display:flex;flex-direction:column;gap:9px} .service-item{padding:14px 15px;border:1px solid rgba(215,225,225,.12);border-radius:11px;background:rgba(255,255,255,.025);transition:border-color .2s ease,background .2s ease,transform .2s ease} .service-item:hover{border-color:rgba(100,225,198,.3);background:rgba(100,225,198,.045);transform:translateX(-2px)} .service-item h3{display:flex;justify-content:flex-end;align-items:center;gap:9px} .service-icon{width:18px;height:18px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round} .service-item p{max-width:100%;margin:6px 0 0;color:#c4cecf} .profiles-overview{margin-top:22px} .profiles-overview .section-intro{margin-bottom:0} .faq-item{padding:14px 12px;border:1px solid rgba(215,225,225,.11);border-radius:10px;background:rgba(255,255,255,.022)} .faq-list{display:flex;flex-direction:column;gap:8px} .faq-item h3{display:flex;align-items:center;justify-content:flex-end;gap:8px} .faq-question-icon{display:inline-grid;width:19px;height:19px;place-items:center;flex:none;border:1px solid rgba(100,225,198,.38);border-radius:50%;color:var(--accent);font-size:12px;line-height:1} .faq-item p{max-width:100%;margin-inline:0} .closing-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:22px 24px;border:1px solid rgba(100,225,198,.3);border-radius:16px;background:radial-gradient(ellipse at 0% 50%,rgba(100,225,198,.12),transparent 54%),linear-gradient(145deg,rgba(26,34,36,.96),rgba(13,17,19,.94));box-shadow:0 16px 38px rgba(0,0,0,.2)} .closing-copy{max-width:490px} .closing-cta h2{margin:6px 0 5px;color:#f3f7f6;font-size:clamp(19px,2vw,25px);line-height:1.2;letter-spacing:-.035em} .closing-cta p{margin:0;color:#c0cacc;font-size:12px;line-height:1.6} .closing-button{flex:none} .closing-button svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round} .footer{margin-top:22px} .service-overview,.faq,.profiles-overview{scroll-margin-top:24px} @media(min-width:1101px){.content{padding-left:clamp(36vw,44vw,680px)}.content-inner{width:min(100%,780px)}} @media(max-width:1100px) and (min-width:761px){.visual{position:absolute;inset:0 0 auto;width:100%;height:clamp(360px,50svh,520px)} .visual::before{background:radial-gradient(ellipse at 29% 32%,rgba(100,225,198,.08),transparent 40%),linear-gradient(0deg,#202124 0%,rgba(32,33,36,.78) 15%,rgba(32,33,36,.05) 55%,transparent 100%)} .visual::after{mask-image:linear-gradient(0deg,transparent 5%,#000 100%);opacity:.22} .content{min-height:0;padding:calc(clamp(360px,50svh,520px) + 28px) clamp(24px,5vw,50px) 32px;text-align:right} .content-inner{width:min(100%,760px)} .topbar{margin-bottom:36px}} @media(max-width:760px){.visual::before{background:radial-gradient(ellipse at 50% 24%,rgba(100,225,198,.07),transparent 42%),linear-gradient(0deg,#202124 0%,rgba(32,33,36,.68) 16%,transparent 48%)} .visual::after{mask-image:linear-gradient(0deg,transparent 8%,#000 100%);opacity:.2} .content-inner{width:min(100%,680px)} .expertise-rail{gap:6px;margin-top:14px} .expertise-tag{font-size:9px;padding:6px 8px}} @media(max-width:520px){.expertise-rail{justify-content:flex-start} .toplink-services{padding:5px 7px} .snapshot{padding:15px} .service-overview,.faq,.profiles-overview{padding:16px} .closing-cta{align-items:stretch;flex-direction:column;padding:18px} .closing-button{width:100%}} @media(prefers-reduced-motion:reduce){.toplink,.service-item{transition:none}.service-item:hover,.toplink:hover{transform:none}} .company{margin:7px 0 0;color:#d3dddd;font-size:12px;font-weight:650;letter-spacing:.015em} .snapshot,.service-overview,.faq,.profiles-overview{border-color:rgba(228,238,238,.28);background:linear-gradient(145deg,rgba(45,53,57,.98),rgba(32,37,40,.98));box-shadow:0 18px 42px rgba(0,0,0,.28)} .snapshot-head small,.section-head small{color:#c4ced0} .service-item,.faq-item{border-color:rgba(228,238,238,.21);background:rgba(255,255,255,.07)} .service-item:hover{border-color:rgba(100,225,198,.45);background:rgba(100,225,198,.09)} .count{border-color:rgba(228,238,238,.18);background:rgba(255,255,255,.075)} .assessment-label,.skill-label{color:#cbd4d5} .badge-pill{border-color:rgba(228,238,238,.21);background:rgba(255,255,255,.085)} .closing-cta{border-color:rgba(100,225,198,.42);background:radial-gradient(ellipse at 0% 50%,rgba(100,225,198,.17),transparent 54%),linear-gradient(145deg,rgba(43,52,55,.99),rgba(30,36,39,.99));box-shadow:0 18px 42px rgba(0,0,0,.3)} .closing-cta h2{max-width:500px} html.has-stat-counter-motion .snapshot:not(.is-counted) .track i{width:0} .snapshot .track i{transition:width 1400ms cubic-bezier(.2,.7,.2,1),box-shadow 700ms ease} @media(prefers-reduced-motion:reduce){.snapshot .track i{transition:none}} .type-line{display:block} .type-line:first-child{color:var(--ink)} h1.typewriter-ready .type-char{display:inline-block;opacity:0;transform:translateX(-.22em);transition:opacity .22s ease var(--type-delay),transform .34s cubic-bezier(.2,.7,.2,1) var(--type-delay)} h1.is-typing .type-char{opacity:1;transform:translateX(0)} h1 .type-space{width:.28em;white-space:pre} @media(prefers-reduced-motion:reduce){h1 .type-char{opacity:1;transform:none;transition:none}} .laurence-chat-launcher,.laurence-chat-panel,.laurence-chat-panel *{box-sizing:border-box} .laurence-chat-launcher{position:fixed;z-index:1201;right:max(22px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 18px;border:1px solid rgba(100,225,198,.52);border-radius:999px;background:#64e1c6;color:#08201d;font:700 13px/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 12px 42px rgba(0,0,0,.42);cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease} .laurence-chat-launcher:hover{transform:translateY(-2px);background:#83ead6;box-shadow:0 16px 48px rgba(0,0,0,.5)} .laurence-chat-launcher:focus-visible,.laurence-chat-panel button:focus-visible,.laurence-chat-panel a:focus-visible,.laurence-chat-panel textarea:focus-visible{outline:2px solid #64e1c6;outline-offset:3px} .laurence-chat-launcher svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none} .laurence-chat-panel{position:fixed;z-index:1200;right:max(22px,env(safe-area-inset-right));bottom:88px;display:flex;width:min(390px,calc(100vw - 32px));height:min(620px,calc(100svh - 112px));max-height:calc(100svh - 112px);flex-direction:column;overflow:hidden;border:1px solid rgba(100,225,198,.3);border-radius:22px;background:rgba(32,35,38,.98);color:#f2f6f5;box-shadow:0 24px 76px rgba(0,0,0,.58);backdrop-filter:blur(18px);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif} .laurence-chat-panel[hidden]{display:none} .laurence-chat-head{display:flex;align-items:center;gap:12px;padding:17px 17px 15px;border-bottom:1px solid rgba(215,225,225,.14);background:linear-gradient(130deg,rgba(100,225,198,.1),rgba(117,186,255,.04))} .laurence-chat-mark{display:grid;width:40px;height:40px;place-items:center;flex:none;border:1px solid rgba(100,225,198,.3);border-radius:13px;background:rgba(100,225,198,.1);color:#64e1c6} .laurence-chat-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round} .laurence-chat-heading{min-width:0;flex:1} .laurence-chat-heading h2{margin:0;color:#f2f6f5;font-size:15px;font-weight:750;letter-spacing:-.02em} .laurence-chat-heading p{margin:3px 0 0;color:#a7b2b5;font-size:11px} .laurence-chat-close{display:grid;width:34px;height:34px;place-items:center;flex:none;border:1px solid rgba(215,225,225,.18);border-radius:10px;background:rgba(255,255,255,.035);color:#dce4e4;cursor:pointer} .laurence-chat-close:hover{background:rgba(255,255,255,.1)} .laurence-chat-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round} .laurence-chat-log{display:flex;min-height:0;flex:1;flex-direction:column;gap:11px;overflow-y:auto;padding:17px 15px;overscroll-behavior:contain;scrollbar-color:rgba(215,225,225,.25) transparent;scrollbar-width:thin} .laurence-chat-message{max-width:88%;padding:10px 12px;border:1px solid rgba(215,225,225,.11);border-radius:15px;color:#e9eeee;white-space:pre-wrap;overflow-wrap:anywhere} .laurence-chat-message--assistant{align-self:flex-start;border-top-left-radius:5px;background:rgba(255,255,255,.055)} .laurence-chat-message--user{align-self:flex-end;border-color:rgba(100,225,198,.24);border-top-right-radius:5px;background:rgba(100,225,198,.13);color:#e9f8f5} .laurence-chat-message--notice{max-width:100%;border-color:rgba(255,196,122,.2);background:rgba(255,196,122,.07);color:#e6d9c7;font-size:12px} .laurence-chat-message--pending{color:#a7b2b5} .laurence-chat-tools{padding:0 15px 12px} .laurence-chat-status{margin:0 0 9px;color:#829197;font-size:10px} .laurence-chat-form{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid rgba(215,225,225,.2);border-radius:15px;background:rgba(0,0,0,.2)} .laurence-chat-input{display:block;width:100%;min-height:38px;max-height:112px;resize:none;border:0;background:transparent;color:#f2f6f5;font:inherit;font-size:13px;line-height:1.45;outline:0;overflow-y:auto} .laurence-chat-input::placeholder{color:#829197} .laurence-chat-send{display:grid;width:38px;height:38px;place-items:center;flex:none;border:0;border-radius:11px;background:#64e1c6;color:#08201d;cursor:pointer;transition:background .16s ease,transform .16s ease} .laurence-chat-send:hover:not(:disabled){transform:translateY(-1px);background:#83ead6} .laurence-chat-send:disabled{opacity:.48;cursor:wait} .laurence-chat-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} .laurence-chat-contact{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;color:#a7b2b5;font-size:10px} .laurence-chat-contact a{color:#64e1c6;text-decoration:none;font-weight:700} .laurence-chat-contact a:hover{text-decoration:underline} .laurence-chat-disclaimer{margin:8px 0 0;color:#829197;font-size:9px} @media(max-width:520px){.laurence-chat-launcher{right:14px;bottom:max(14px,env(safe-area-inset-bottom));min-height:50px;padding:0 15px}.laurence-chat-panel{right:12px;bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100vw - 24px);height:min(620px,calc(100svh - 100px));max-height:calc(100svh - 100px);border-radius:19px}} @media(max-height:540px) and (min-width:521px){.laurence-chat-panel{height:calc(100svh - 104px);max-height:calc(100svh - 104px)}} @media(prefers-reduced-motion:reduce){.laurence-chat-launcher,.laurence-chat-send{transition:none}} .landing-page-promo{position:fixed;z-index:1199;left:max(22px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;width:max-content;max-width:min(390px,calc(100vw - 40px));padding:11px 15px 11px 11px;border:1px solid rgba(100,225,198,.34);border-radius:17px;background:rgba(32,35,38,.96);color:#f2f6f5;text-decoration:none;box-shadow:0 12px 38px rgba(0,0,0,.4);backdrop-filter:blur(15px);transition:transform .18s ease,border-color .18s ease,background .18s ease;font:12px/1.35 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif} .landing-page-promo:hover{transform:translateY(-2px);border-color:rgba(100,225,198,.68);background:rgba(39,43,46,.98)} .landing-page-promo:focus-visible{outline:2px solid #64e1c6;outline-offset:4px} .landing-page-promo__icon{display:grid;width:37px;height:37px;place-items:center;flex:none;border:1px solid rgba(100,225,198,.3);border-radius:11px;background:rgba(100,225,198,.1);color:#64e1c6} .landing-page-promo__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round} .landing-page-promo__copy{max-width:260px;color:#cbd4d5} .landing-page-promo__copy strong{display:block;margin-top:2px;color:#f2f6f5;font-size:13px;font-weight:750;letter-spacing:-.015em} .landing-page-promo__arrow{display:grid;width:27px;height:27px;place-items:center;flex:none;border:1px solid rgba(215,225,225,.16);border-radius:50%;color:#64e1c6} .landing-page-promo__arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} @media(max-width:760px){.landing-page-promo{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));gap:9px;max-width:min(390px,calc(100vw - 88px));padding:9px 11px 9px 9px;border-radius:15px;font-size:10px}.landing-page-promo__icon{width:31px;height:31px;border-radius:9px}.landing-page-promo__icon svg{width:17px;height:17px}.landing-page-promo__copy{max-width:none}.landing-page-promo__copy strong{font-size:11px}.landing-page-promo__arrow{display:none}.laurence-chat-launcher{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:54px;min-height:54px;padding:0;justify-content:center;border-radius:50%}.laurence-chat-launcher>span{display:none}} @media(prefers-reduced-motion:reduce){.landing-page-promo{transition:none}} .page > .topbar{position:absolute;z-index:3;top:clamp(32px,5.5vw,82px);left:clamp(25px,5.5vw,88px);right:clamp(25px,5.5vw,88px);margin:0;justify-content:flex-end;text-align:right} .page > .topbar .status,.page > .topbar .toplink{white-space:nowrap} @media(min-width:1101px){.content{padding-top:calc(clamp(32px,5.5vw,82px) + 32px + clamp(40px,6vh,76px))}} @media(min-width:761px) and (max-width:1100px){.page > .topbar{top:22px;left:clamp(24px,5vw,50px);right:clamp(24px,5vw,50px)} .content{padding:130px clamp(24px,5vw,50px) 32px 44%;text-align:right} .content-inner{width:100%;min-width:0} #page-title{font-size:clamp(32px,4.4vw,48px);line-height:1.06;margin-left:auto} .role{font-size:13px;line-height:1.6} .intro{font-size:13px;line-height:1.7} .snapshot-head,.section-head{flex-wrap:wrap} .stackoverflow .counts,.local-guides .counts{grid-template-columns:repeat(2,minmax(0,1fr))} .closing-cta{flex-direction:column;align-items:stretch}} @media(max-width:760px){.page > .topbar{top:16px;left:22px;right:22px;gap:10px 14px} .page > .topbar .status{flex-basis:100%;justify-content:flex-end} .visual{top:0;height:calc(88px + clamp(320px,58svh,520px))} .content{padding-top:calc(88px + clamp(320px,58svh,520px) + 24px);text-align:right} .expertise-rail{justify-content:flex-end}} @media(max-width:520px){.page > .topbar{left:17px;right:17px} .visual{height:calc(88px + clamp(360px,58svh,500px))} .content{padding-top:calc(88px + clamp(360px,58svh,500px) + 24px)}} .proposal-meter-1{--value:100%} .proposal-meter-2{--value:50%} .proposal-meter-3{--value:50%} .proposal-meter-4{--value:41.67%} .proposal-meter-5{--value:41.67%} .proposal-meter-6{--value:33.33%} .proposal-meter-7{--value:55.8%} .visual-video{background:#202124;overflow:hidden} .visual-video img{z-index:0;opacity:.24;filter:grayscale(1)} .visual-video .hero-background-video{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% top;filter:grayscale(1) contrast(1.1) brightness(.76);opacity:.95;pointer-events:none} .visual-video::before{z-index:2;background:linear-gradient(90deg,rgba(18,21,24,.02) 0%,rgba(18,21,24,.10) 10%,rgba(24,26,29,.38) 20%,rgba(28,30,33,.74) 29%,rgba(18,19,21,.96) 38%,#050506 49%,#000 64%,#000 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 24%)} .visual-video::after{z-index:3;opacity:.12} @media(min-width:1101px){.visual-video .hero-background-video{width:40%;object-position:50% top}} @media(min-width:761px) and (max-width:1100px){.visual-video .hero-background-video{width:33.333%;object-position:center top} .visual-video::before{background:linear-gradient(90deg,rgba(18,21,24,.02) 0%,rgba(24,26,29,.18) 12%,rgba(30,32,35,.55) 22%,rgba(16,17,19,.92) 34%,#000 48%,#000 100%)}} @media(max-width:760px){.visual-video .hero-background-video{width:66.667%;height:100%;object-position:center top;filter:grayscale(1) contrast(1.05) brightness(.8)} .visual-video::before{background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.92) 18%,rgba(12,13,15,.42) 58%,rgba(20,22,24,.18) 100%)}} .visual-video .hero-background-video{mask-image:linear-gradient(90deg,#000 0%,#000 74%,rgba(0,0,0,.82) 84%,rgba(0,0,0,.38) 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 74%,rgba(0,0,0,.82) 84%,rgba(0,0,0,.38) 94%,transparent 100%)} @media(max-width:760px){.visual-video .hero-background-video{mask-image:linear-gradient(180deg,#000 0%,#000 78%,rgba(0,0,0,.68) 92%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 78%,rgba(0,0,0,.68) 92%,transparent 100%)}} @media (max-width:1100px){.visual.visual-video{height:calc(88px + clamp(320px,58svh,520px) + 185px);background:#202124;overflow:hidden;} .visual.visual-video img{opacity:0;} .visual.visual-video .hero-background-video{inset:0 auto auto 0;height:calc(100% - 185px);object-position:center top;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 63%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 63%,transparent 100%);} .visual.visual-video::before{z-index:2;inset:0;background: linear-gradient(to bottom, transparent 0%, transparent 42%,rgba(32,33,36,.12) 52%,rgba(32,33,36,.65) 75%,#202124 94%,#202124 100%), linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 30%,rgba(0,0,0,.85) 55%,#000 78%);} .visual.visual-video::after{opacity:0;}} @media (min-width:761px) and (max-width:1100px){.visual.visual-video{height:calc(88px + clamp(360px,50svh,520px) + 185px);} .visual.visual-video .hero-background-video{width:42%;}} @media (max-width:760px){.visual.visual-video{width:100%;height:calc(88px + clamp(320px,58svh,520px) + 185px);} .visual.visual-video .hero-background-video{width:100%;height:calc(100% - 185px);object-position:center top;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.9) 65%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.9) 65%,transparent 100%);} .visual.visual-video::before{background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.05) 32%,rgba(0,0,0,.28) 50%,rgba(21,22,24,.77) 67%,#202124 91%,#202124 100%);}} @media (max-width:520px){.visual.visual-video{height:calc(88px + clamp(360px,58svh,500px) + 185px);}} @media (max-width:760px){.visual.visual-video::before{background: linear-gradient(to right, transparent 0%, rgba(0,0,0,.08) 45%, rgba(0,0,0,.48) 72%, rgba(0,0,0,.90) 100%), linear-gradient(to bottom, rgba(0,0,0,.05) 0%, rgba(0,0,0,.05) 32%, rgba(0,0,0,.28) 50%, rgba(21,22,24,.77) 67%, #202124 91%, #202124 100%);}} @media (min-width:761px) and (max-width:1100px){.visual.visual-video::before{background: linear-gradient(to bottom,transparent 0%,transparent 40%,rgba(32,33,36,.14) 52%,rgba(32,33,36,.7) 75%,#202124 94%,#202124 100%), linear-gradient(to right,transparent 0%,rgba(0,0,0,.05) 15%,rgba(0,0,0,.28) 26%,rgba(0,0,0,.7) 36%,#000 53%,#000 100%);}} .visual.visual-video{background:#202124} .visual.visual-video .hero-background-video{display:block} .visual.visual-video .video-poster{display:block;position:absolute;z-index:0;inset:0 auto auto 0;width:40%;height:100%;object-fit:cover;object-position:center top;opacity:1;filter:grayscale(1) contrast(1.1) brightness(.76);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 74%,rgba(0,0,0,.82) 84%,rgba(0,0,0,.38) 94%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 74%,rgba(0,0,0,.82) 84%,rgba(0,0,0,.38) 94%,transparent 100%)}@media(min-width:761px) and (max-width:1100px){.visual.visual-video .video-poster{width:42%;height:calc(100% - 185px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 63%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 63%,transparent 100%)}}@media(max-width:760px){.visual.visual-video .video-poster{width:100%;height:calc(100% - 185px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.9) 65%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.9) 65%,transparent 100%)}} .snapshot .count strong,.snapshot .skill-label strong,.snapshot .counter-number{color:var(--accent)}.snapshot .counter-number{font-variant-numeric:tabular-nums;font-weight:750}