:root{--hpp-bg:#090b10;--hpp-bg2:#0e1118;--hpp-panel:#11151e;--hpp-panel2:#151a24;--hpp-text:#f5f7fb;--hpp-muted:#9da6b6;--hpp-line:rgba(255,255,255,.10);--hpp-accent:#B8FF64;--hpp-accent-2:#7D8CFF;--hpp-radius:26px;--hpp-shadow:0 24px 70px rgba(0,0,0,.32)}
*{box-sizing:border-box}.hpp-experience-page{margin:0;background:var(--hpp-bg)!important}.hpp-experience-page .site-header,.hpp-experience-page .site-footer{display:none!important}.hpp-shell{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#080a0f 0%,#0a0d13 43%,#080a0e 100%);color:var(--hpp-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}.hpp-shell a{color:inherit;text-decoration:none}.hpp-shell button,.hpp-shell input,.hpp-shell textarea,.hpp-shell select{font:inherit}.hpp-container{width:min(1240px,calc(100% - 48px));margin-inline:auto}.hpp-section{position:relative;padding:120px 0}.hpp-bg-grid{position:absolute;inset:0;z-index:-4;opacity:.23;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000 0%,transparent 45%)}.hpp-orb{position:absolute;z-index:-3;width:600px;height:600px;border-radius:50%;filter:blur(85px);opacity:.15;pointer-events:none}.hpp-orb-a{top:-190px;right:-220px;background:var(--hpp-accent-2)}.hpp-orb-b{top:660px;left:-330px;background:var(--hpp-accent)}
.hpp-header{position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid transparent;transition:.35s ease}.hpp-header.is-scrolled{background:rgba(8,10,15,.82);backdrop-filter:blur(20px);border-color:var(--hpp-line);box-shadow:0 8px 30px rgba(0,0,0,.18)}.hpp-nav-wrap{height:88px;display:flex;align-items:center;gap:34px}.hpp-brand{display:inline-flex;align-items:center;gap:8px;letter-spacing:.07em}.hpp-brand-dot{width:10px;height:10px;border-radius:50%;background:var(--hpp-accent);box-shadow:0 0 22px color-mix(in srgb,var(--hpp-accent) 75%,transparent)}.hpp-brand strong{font-size:15px;letter-spacing:.16em}.hpp-brand small{font-size:10px;color:var(--hpp-muted);letter-spacing:.18em}.hpp-nav{display:flex;gap:30px;margin-left:auto}.hpp-nav a{font-size:13px;color:#bdc4d1;transition:.2s}.hpp-nav a:hover{color:#fff}.hpp-nav-cta{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--hpp-line);border-radius:999px;padding:11px 17px;font-size:13px;background:rgba(255,255,255,.035);transition:.25s}.hpp-nav-cta:hover{border-color:color-mix(in srgb,var(--hpp-accent) 60%,transparent);transform:translateY(-2px)}.hpp-menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--hpp-line);border-radius:14px;background:rgba(255,255,255,.04);align-items:center;justify-content:center;flex-direction:column;gap:6px}.hpp-menu-toggle span{width:18px;height:1px;background:#fff}.hpp-mobile-nav{display:none}
.hpp-hero{padding-top:174px;padding-bottom:70px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.hpp-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:80px}.hpp-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--hpp-line);background:rgba(255,255,255,.035);border-radius:999px;color:#cbd2dc;font-size:12px;letter-spacing:.05em}.hpp-live-dot{width:7px;height:7px;border-radius:50%;background:var(--hpp-accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--hpp-accent) 12%,transparent)}.hpp-role{margin:22px 0 10px;color:#c5cbd6;font-size:14px;letter-spacing:.03em}.hpp-display{margin:0;max-width:800px;font-size:clamp(58px,6.1vw,98px);line-height:.94;letter-spacing:-.056em;font-weight:760}.hpp-display em,.hpp-section-head h2 em,.hpp-about-copy h2 em,.hpp-contact-copy h2 em{font-style:normal;color:transparent;background:linear-gradient(110deg,var(--hpp-accent),#d6ff9e 45%,var(--hpp-accent-2));-webkit-background-clip:text;background-clip:text}.hpp-hero-text{max-width:700px;margin:28px 0 0;color:var(--hpp-muted);font-size:18px;line-height:1.75}.hpp-hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.hpp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 21px;border-radius:14px;font-size:14px;font-weight:650;border:1px solid transparent;transition:.25s}.hpp-btn-primary{background:var(--hpp-accent);color:#0b0d10!important;box-shadow:0 12px 30px color-mix(in srgb,var(--hpp-accent) 17%,transparent)}.hpp-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.hpp-btn-ghost{border-color:var(--hpp-line);background:rgba(255,255,255,.04)}.hpp-btn-ghost:hover{background:rgba(255,255,255,.07)}.hpp-proof-row{display:flex;gap:0;margin-top:50px;border-top:1px solid var(--hpp-line);max-width:650px}.hpp-proof-row>div{padding:20px 34px 0 0;margin-right:34px;border-right:1px solid var(--hpp-line)}.hpp-proof-row>div:last-child{border:0}.hpp-proof-row strong{display:block;font-size:23px;letter-spacing:-.03em}.hpp-proof-row span{font-size:11px;color:var(--hpp-muted);text-transform:uppercase;letter-spacing:.12em}
.hpp-portrait-stage{position:relative;min-height:590px;display:grid;place-items:center}.hpp-orbit{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;animation:hpp-spin 22s linear infinite}.hpp-orbit-1{width:520px;height:520px}.hpp-orbit-2{width:410px;height:410px;border-style:dashed;animation-duration:32s;animation-direction:reverse}.hpp-portrait-card{position:relative;width:min(410px,92%);padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:var(--hpp-shadow);backdrop-filter:blur(18px);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .16s ease}.hpp-card-top,.hpp-browser-bar{height:42px;display:flex;align-items:center;padding:0 12px;gap:7px;color:#7f8899}.hpp-card-top>span,.hpp-browser-bar i{width:7px;height:7px;border-radius:50%;background:#343b49;display:block}.hpp-card-top small{margin-left:auto;font-size:10px;letter-spacing:.08em}.hpp-portrait-media{height:410px;border-radius:21px;overflow:hidden;background:linear-gradient(145deg,#171e29,#0f131b);border:1px solid rgba(255,255,255,.06)}.hpp-portrait-media img{width:100%;height:100%;object-fit:cover}.hpp-profile-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--hpp-accent-2) 30%,transparent),transparent 48%),linear-gradient(145deg,#151a23,#0d1118)}.hpp-profile-monogram{width:128px;height:128px;border-radius:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);font-size:42px;font-weight:800;letter-spacing:-.06em;background:rgba(255,255,255,.05);box-shadow:inset 0 1px rgba(255,255,255,.07)}.hpp-profile-placeholder span{max-width:260px;margin-top:25px;color:#8790a0;font-size:12px}.hpp-portrait-meta{display:flex;align-items:center;justify-content:space-between;padding:18px 9px 7px}.hpp-portrait-meta span{display:block;color:#777f8d;text-transform:uppercase;font-size:9px;letter-spacing:.14em}.hpp-portrait-meta strong{font-size:15px}.hpp-available{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--hpp-accent);border:1px solid color-mix(in srgb,var(--hpp-accent) 30%,transparent);padding:7px 9px;border-radius:999px;background:color-mix(in srgb,var(--hpp-accent) 7%,transparent)}.hpp-floating-chip{position:absolute;padding:10px 14px;border:1px solid var(--hpp-line);background:rgba(12,15,21,.82);backdrop-filter:blur(12px);border-radius:12px;font-size:11px;box-shadow:0 15px 40px rgba(0,0,0,.25)}.hpp-chip-a{top:110px;left:0;animation:hpp-float 4s ease-in-out infinite}.hpp-chip-b{right:-5px;bottom:110px;animation:hpp-float 5s ease-in-out infinite reverse}.hpp-industry-strip{margin-top:80px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;border-top:1px solid var(--hpp-line);border-bottom:1px solid var(--hpp-line);padding:16px 0;overflow:hidden}.hpp-industry-strip>span{text-transform:uppercase;letter-spacing:.16em;color:#6f7786;font-size:9px;white-space:nowrap}.hpp-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.hpp-marquee>div{display:flex;align-items:center;gap:18px;width:max-content;animation:hpp-marquee 32s linear infinite}.hpp-marquee b{font-size:11px;font-weight:550;color:#a9b1be;white-space:nowrap}.hpp-marquee i{font-style:normal;color:#49505d;font-size:9px}
.hpp-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:44px}.hpp-section-head>div{max-width:760px}.hpp-section-head p{max-width:430px;color:var(--hpp-muted);margin:0;font-size:15px}.hpp-kicker{display:block;margin-bottom:12px;color:var(--hpp-accent);text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:700}.hpp-section-head h2,.hpp-about-copy h2,.hpp-contact-copy h2{margin:0;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.05em}.hpp-work{padding-top:110px}.hpp-filter-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.hpp-filter{border:1px solid var(--hpp-line);background:#0e1219;color:#aab2bf;border-radius:999px;padding:10px 13px;font-size:11px;cursor:pointer;transition:.2s}.hpp-filter span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;border-radius:999px;background:rgba(255,255,255,.06);font-size:9px}.hpp-filter:hover,.hpp-filter.is-active{color:#0b0d10;background:var(--hpp-accent);border-color:var(--hpp-accent)}.hpp-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.hpp-project-card{min-width:0;border:1px solid var(--hpp-line);border-radius:var(--hpp-radius);overflow:hidden;background:linear-gradient(180deg,#10141c,#0d1017);box-shadow:0 12px 30px rgba(0,0,0,.13);transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease,opacity .25s,filter .25s}.hpp-project-card.is-filtered-out{display:none}.hpp-project-visual{position:relative;display:block;margin:10px 10px 0;border:1px solid rgba(255,255,255,.07);border-radius:19px;overflow:hidden;background:#0b0e14;aspect-ratio:16/10}.hpp-browser-bar{height:38px;background:#11161e;border-bottom:1px solid rgba(255,255,255,.06);font-size:9px}.hpp-browser-bar>div{display:flex;gap:5px}.hpp-browser-bar span{margin-left:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hpp-browser-bar b{margin-left:auto;font-size:9px;letter-spacing:.12em;color:#5e6777}.hpp-project-visual>img{width:100%;height:calc(100% - 38px);object-fit:cover;object-position:top center;display:block;transition:transform .55s ease,filter .55s ease}.hpp-project-fallback,.hpp-case-fallback{height:calc(100% - 38px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--hpp-accent-2) 24%,transparent),transparent 35%),radial-gradient(circle at 78% 78%,color-mix(in srgb,var(--hpp-accent) 14%,transparent),transparent 35%),linear-gradient(145deg,#141a24,#0c1016)}.hpp-project-fallback span,.hpp-case-fallback span{font-size:70px;line-height:1;font-weight:850;letter-spacing:-.08em;color:rgba(255,255,255,.87)}.hpp-project-fallback small,.hpp-case-fallback small{margin-top:16px;color:#7f8796;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.hpp-project-hover{position:absolute;left:50%;bottom:18px;transform:translate(-50%,15px);display:flex;align-items:center;gap:14px;padding:9px 10px 9px 14px;border-radius:999px;background:rgba(7,9,13,.88);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.13);font-size:11px;opacity:0;transition:.28s}.hpp-project-hover b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--hpp-accent);color:#0a0c10}.hpp-project-card:hover .hpp-project-hover{opacity:1;transform:translate(-50%,0)}.hpp-project-card:hover .hpp-project-visual>img{transform:scale(1.025);filter:brightness(.85)}.hpp-project-body{padding:22px 24px 25px}.hpp-project-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.hpp-project-meta span{color:var(--hpp-accent);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.hpp-project-meta small{color:#697181;font-size:10px}.hpp-project-body h3{margin:8px 0 9px;font-size:25px;letter-spacing:-.035em;line-height:1.15}.hpp-project-body h3 a:hover{color:var(--hpp-accent)}.hpp-project-body p{color:#8f98a8;font-size:13px;line-height:1.65;margin:0;min-height:43px}.hpp-project-links{display:flex;gap:20px;margin-top:17px}.hpp-project-links a{font-size:11px;color:#c7ced9}.hpp-project-links a:hover{color:var(--hpp-accent)}.hpp-empty{grid-column:1/-1;padding:60px;border:1px dashed var(--hpp-line);border-radius:var(--hpp-radius);text-align:center}.hpp-empty strong{display:block;font-size:24px}.hpp-empty span{color:var(--hpp-muted)}
.hpp-services{background:linear-gradient(180deg,rgba(255,255,255,.01),rgba(255,255,255,.025),transparent)}.hpp-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.hpp-service-card{position:relative;min-height:355px;padding:24px;border:1px solid var(--hpp-line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .17s,border-color .25s,background .25s}.hpp-service-card:hover{border-color:color-mix(in srgb,var(--hpp-accent) 26%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--hpp-accent) 6%,transparent),rgba(255,255,255,.018))}.hpp-service-num{color:#5b6372;font-size:10px;letter-spacing:.15em}.hpp-service-icon{width:62px;height:62px;margin:34px 0 50px;border-radius:18px;display:grid;place-items:center;border:1px solid var(--hpp-line);background:#0d1117;color:var(--hpp-accent);font-size:17px;font-weight:750;letter-spacing:-.05em}.hpp-service-card h3{font-size:19px;line-height:1.25;margin:0 0 10px;letter-spacing:-.025em}.hpp-service-card p{color:#87909f;font-size:12px;margin:0}.hpp-service-card a{position:absolute;left:24px;bottom:23px;font-size:11px;color:#bfc6d1}.hpp-service-card a:hover{color:var(--hpp-accent)}
.hpp-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.hpp-about-copy p{color:var(--hpp-muted);font-size:16px;max-width:650px}.hpp-text-link{display:inline-flex;gap:8px;align-items:center;margin-top:10px;font-size:12px;color:#d3d8e0;border-bottom:1px solid #505866;padding-bottom:4px}.hpp-text-link:hover{color:var(--hpp-accent);border-color:var(--hpp-accent)}.hpp-capability-panel{padding:28px;border:1px solid var(--hpp-line);border-radius:26px;background:linear-gradient(180deg,#11151d,#0d1117);box-shadow:var(--hpp-shadow)}.hpp-cap-head,.hpp-cap-footer{display:flex;justify-content:space-between;gap:20px;align-items:center}.hpp-cap-head{padding-bottom:23px;border-bottom:1px solid var(--hpp-line);margin-bottom:22px}.hpp-cap-head span{font-size:12px;font-weight:650}.hpp-cap-head small{font-size:9px;color:var(--hpp-accent);text-transform:uppercase;letter-spacing:.14em}.hpp-skill{display:grid;grid-template-columns:155px 1fr 38px;gap:13px;align-items:center;margin:17px 0}.hpp-skill>span{font-size:11px;color:#adb5c2}.hpp-skill>div{height:4px;border-radius:999px;background:#212733;overflow:hidden}.hpp-skill i{height:100%;width:100%;display:block;border-radius:999px;background:linear-gradient(90deg,var(--hpp-accent-2),var(--hpp-accent));opacity:.78}.hpp-skill b{font-size:10px;text-align:right;color:#c7cdd7}.hpp-cap-footer{padding-top:23px;margin-top:23px;border-top:1px solid var(--hpp-line);font-size:9px;color:#6f7784;text-transform:uppercase;letter-spacing:.08em}
.hpp-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hpp-line);border-bottom:1px solid var(--hpp-line)}.hpp-process-card{padding:34px 26px 42px;border-right:1px solid var(--hpp-line);min-height:280px}.hpp-process-card:last-child{border-right:0}.hpp-process-card>span{display:block;color:var(--hpp-accent);font-size:10px;letter-spacing:.15em;margin-bottom:76px}.hpp-process-card h3{font-size:19px;margin:0 0 10px}.hpp-process-card p{margin:0;color:#858e9d;font-size:12px;line-height:1.7}
.hpp-contact{padding-bottom:130px}.hpp-contact-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:58px;border:1px solid var(--hpp-line);border-radius:34px;background:radial-gradient(circle at 4% 8%,color-mix(in srgb,var(--hpp-accent-2) 13%,transparent),transparent 35%),radial-gradient(circle at 96% 100%,color-mix(in srgb,var(--hpp-accent) 11%,transparent),transparent 34%),linear-gradient(145deg,#11161e,#0c1016);box-shadow:var(--hpp-shadow)}.hpp-contact-copy p{color:#919aaa;max-width:570px;font-size:15px}.hpp-contact-points{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:30px}.hpp-contact-points span{display:flex;align-items:center;gap:8px;color:#aeb6c3;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.hpp-contact-points i{width:6px;height:6px;border-radius:50%;background:var(--hpp-accent)}.hpp-contact-form{display:grid;gap:14px}.hpp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hpp-contact-form label span{display:block;margin-bottom:6px;color:#8e97a6;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.hpp-contact-form input,.hpp-contact-form select,.hpp-contact-form textarea{width:100%;border:1px solid var(--hpp-line);border-radius:12px;background:#090d13;color:#fff;padding:13px 14px;outline:none;transition:.2s}.hpp-contact-form input:focus,.hpp-contact-form select:focus,.hpp-contact-form textarea:focus{border-color:color-mix(in srgb,var(--hpp-accent) 58%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hpp-accent) 7%,transparent)}.hpp-contact-form textarea{resize:vertical}.hpp-contact-form .hpp-btn{width:max-content;cursor:pointer}.hpp-hp{position:absolute!important;left:-9999px!important}.hpp-form-message{padding:11px 13px;border-radius:10px;font-size:12px}.hpp-form-message.is-success{background:color-mix(in srgb,var(--hpp-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--hpp-accent) 25%,transparent)}.hpp-form-message.is-error{background:rgba(255,180,90,.08);border:1px solid rgba(255,180,90,.23)}
.hpp-footer{border-top:1px solid var(--hpp-line);background:#080a0e}.hpp-footer-top{padding:50px 0;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;align-items:center}.hpp-footer-top p{margin:0;color:#7e8796;font-size:12px;max-width:430px}.hpp-footer-top .hpp-text-link{justify-self:end;margin:0}.hpp-footer-bottom{padding:18px 0 25px;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:20px;justify-content:space-between;color:#616977;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.hpp-footer-bottom a:hover{color:var(--hpp-accent)}
.hpp-reveal{opacity:1;transform:none;filter:none}.hpp-reveal.is-visible{opacity:1;transform:none;filter:none}.hpp-project-grid .hpp-project-card:nth-child(2n){transition-delay:0s}
.hpp-case-hero{padding-top:150px}.hpp-back{display:inline-block;color:#7f8897;font-size:11px;margin-bottom:35px}.hpp-case-title{display:flex;justify-content:space-between;gap:60px;align-items:end}.hpp-case-title>div:first-child{max-width:820px}.hpp-case-title h1{font-size:clamp(56px,7vw,106px);line-height:.93;letter-spacing:-.06em;margin:0}.hpp-case-title p{color:var(--hpp-muted);max-width:700px;font-size:17px;margin:23px 0 0}.hpp-case-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:55px 0 25px;border-top:1px solid var(--hpp-line);border-bottom:1px solid var(--hpp-line)}.hpp-case-facts>div{padding:18px 20px;border-right:1px solid var(--hpp-line)}.hpp-case-facts>div:last-child{border:0}.hpp-case-facts span{display:block;color:#66707e;text-transform:uppercase;font-size:8px;letter-spacing:.15em}.hpp-case-facts strong{display:block;margin-top:5px;font-size:12px;font-weight:600}.hpp-case-browser{border:1px solid var(--hpp-line);border-radius:26px;overflow:hidden;background:#0b0e14;box-shadow:var(--hpp-shadow)}.hpp-case-browser>.hpp-browser-bar{height:48px}.hpp-case-browser>img{display:block;width:100%;max-height:760px;object-fit:cover;object-position:top}.hpp-case-fallback{height:560px}.hpp-case-details{padding-top:60px}.hpp-case-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:100px}.hpp-case-copy h2{font-size:46px;line-height:1.05;letter-spacing:-.045em;margin:0 0 25px}.hpp-case-copy p,.hpp-rich-content{color:#929baa;font-size:15px}.hpp-rich-content h2,.hpp-rich-content h3{color:#fff}.hpp-case-aside{display:grid;gap:20px;align-content:start}.hpp-case-aside>div{padding:24px;border:1px solid var(--hpp-line);border-radius:18px;background:#0d1117}.hpp-case-aside span{display:block;color:var(--hpp-accent);font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}.hpp-case-aside ul{list-style:none;padding:0;margin:0}.hpp-case-aside li,.hpp-case-aside p{padding:7px 0;margin:0;color:#a4acb8;font-size:12px;border-bottom:1px solid rgba(255,255,255,.05)}.hpp-case-aside li:last-child{border:0}.hpp-case-cta .hpp-contact-card{grid-template-columns:1fr auto}
@keyframes hpp-spin{to{transform:rotate(360deg)}}@keyframes hpp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes hpp-marquee{to{transform:translateX(-50%)}}
@media(max-width:1080px){.hpp-section{padding:90px 0}.hpp-hero-grid{grid-template-columns:1fr;gap:45px}.hpp-portrait-stage{min-height:520px}.hpp-portrait-card{width:390px}.hpp-chip-a{left:12%}.hpp-chip-b{right:12%}.hpp-service-grid{grid-template-columns:repeat(2,1fr)}.hpp-about-grid{gap:50px}.hpp-process-grid{grid-template-columns:repeat(2,1fr)}.hpp-process-card:nth-child(2){border-right:0}.hpp-process-card:nth-child(-n+2){border-bottom:1px solid var(--hpp-line)}.hpp-contact-card{gap:40px;padding:42px}.hpp-case-grid{gap:50px}}
@media(max-width:820px){.hpp-container{width:min(100% - 30px,1240px)}.hpp-nav-wrap{height:72px}.hpp-nav,.hpp-nav-cta{display:none}.hpp-menu-toggle{display:flex}.hpp-mobile-nav{position:absolute;top:72px;left:15px;right:15px;display:grid;gap:5px;padding:14px;border:1px solid var(--hpp-line);border-radius:18px;background:rgba(9,11,16,.96);backdrop-filter:blur(20px);transform:translateY(-10px);opacity:0;visibility:hidden;transition:.2s}.hpp-mobile-nav.is-open{opacity:1;visibility:visible;transform:none}.hpp-mobile-nav a{padding:12px;border-radius:10px;color:#c5ccd7;font-size:13px}.hpp-mobile-nav a:hover{background:rgba(255,255,255,.05)}.hpp-hero{padding-top:125px;min-height:auto}.hpp-display{font-size:clamp(49px,13vw,78px)}.hpp-hero-text{font-size:16px}.hpp-proof-row>div{padding-right:18px;margin-right:18px}.hpp-portrait-stage{min-height:470px}.hpp-orbit-1{width:430px;height:430px}.hpp-orbit-2{width:340px;height:340px}.hpp-portrait-card{width:330px}.hpp-portrait-media{height:330px}.hpp-chip-a{left:0;top:85px}.hpp-chip-b{right:0;bottom:90px}.hpp-industry-strip{margin-top:40px}.hpp-section-head{display:block}.hpp-section-head p{margin-top:20px}.hpp-project-grid{grid-template-columns:1fr}.hpp-about-grid{grid-template-columns:1fr}.hpp-contact-card{grid-template-columns:1fr}.hpp-footer-top{grid-template-columns:1fr;gap:20px}.hpp-footer-top .hpp-text-link{justify-self:start}.hpp-case-title{display:block}.hpp-case-actions{margin-top:24px}.hpp-case-facts{grid-template-columns:repeat(2,1fr)}.hpp-case-facts>div:nth-child(2){border-right:0}.hpp-case-facts>div:nth-child(-n+2){border-bottom:1px solid var(--hpp-line)}.hpp-case-grid{grid-template-columns:1fr}.hpp-case-cta .hpp-contact-card{grid-template-columns:1fr}}
@media(max-width:560px){.hpp-section{padding:72px 0}.hpp-brand small{display:none}.hpp-display{font-size:45px;line-height:.98}.hpp-hero-actions{display:grid}.hpp-btn{width:100%}.hpp-proof-row{display:grid;grid-template-columns:repeat(3,1fr)}.hpp-proof-row>div{padding:16px 10px 0 0;margin:0;border-right:0}.hpp-proof-row strong{font-size:20px}.hpp-proof-row span{font-size:8px}.hpp-portrait-stage{min-height:420px}.hpp-orbit-1{width:360px;height:360px}.hpp-orbit-2{width:285px;height:285px}.hpp-portrait-card{width:290px}.hpp-portrait-media{height:288px}.hpp-chip-a,.hpp-chip-b{display:none}.hpp-industry-strip{grid-template-columns:1fr}.hpp-section-head h2,.hpp-about-copy h2,.hpp-contact-copy h2{font-size:40px}.hpp-filter-wrap{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.hpp-filter{white-space:nowrap}.hpp-project-body{padding:18px}.hpp-project-body h3{font-size:22px}.hpp-service-grid{grid-template-columns:1fr}.hpp-service-card{min-height:300px}.hpp-service-icon{margin:24px 0 40px}.hpp-skill{grid-template-columns:118px 1fr 35px}.hpp-cap-footer{display:grid}.hpp-process-grid{grid-template-columns:1fr}.hpp-process-card{border-right:0!important;border-bottom:1px solid var(--hpp-line)!important;min-height:auto}.hpp-process-card:last-child{border-bottom:0!important}.hpp-process-card>span{margin-bottom:35px}.hpp-contact-card{padding:26px 20px;border-radius:25px}.hpp-form-row{grid-template-columns:1fr}.hpp-footer-bottom{display:grid}.hpp-case-title h1{font-size:54px}.hpp-case-facts{grid-template-columns:1fr}.hpp-case-facts>div{border-right:0;border-bottom:1px solid var(--hpp-line)!important}.hpp-case-facts>div:last-child{border-bottom:0!important}.hpp-case-fallback{height:330px}.hpp-case-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.hpp-shell *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.hpp-reveal{opacity:1;transform:none;filter:none}}

/* ===== premium motion/header/footer layer ===== */
.hpp-shell{--hpp-mx:50vw;--hpp-my:25vh}
.hpp-header{top:14px;padding:0;background:transparent!important;border:0!important;pointer-events:none;transition:top .35s ease}
.hpp-header .hpp-nav-wrap{position:relative;height:72px;padding:0 14px 0 18px;border:1px solid rgba(255,255,255,.105);border-radius:22px;background:linear-gradient(180deg,rgba(19,23,32,.77),rgba(10,13,19,.67));box-shadow:0 16px 48px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.055);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);pointer-events:auto;transition:height .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .35s ease}
.hpp-header.is-scrolled{top:10px;box-shadow:none}
.hpp-header.is-scrolled .hpp-nav-wrap{height:66px;background:linear-gradient(180deg,rgba(14,17,24,.93),rgba(8,11,16,.9));border-color:rgba(255,255,255,.13);box-shadow:0 18px 55px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.055)}
.hpp-brand{position:relative;gap:10px;min-width:max-content}
.hpp-brand-dot{position:relative;width:9px;height:9px;box-shadow:0 0 0 5px color-mix(in srgb,var(--hpp-accent) 9%,transparent),0 0 24px color-mix(in srgb,var(--hpp-accent) 65%,transparent)}
.hpp-brand-dot:after{content:"";position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--hpp-accent) 32%,transparent);border-radius:50%;animation:hpp-brand-pulse 2.8s ease-out infinite}
.hpp-brand strong{font-size:16px;letter-spacing:.21em;font-weight:820;background:linear-gradient(90deg,#fff 0%,#fff 64%,#b8c0ce 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hpp-brand:after{content:"";position:absolute;left:19px;right:2px;bottom:-9px;height:1px;transform:scaleX(.25);transform-origin:left;background:linear-gradient(90deg,var(--hpp-accent),transparent);opacity:0;transition:.3s ease}
.hpp-brand:hover:after{transform:scaleX(1);opacity:1}
.hpp-nav{gap:7px;padding:5px;border:1px solid rgba(255,255,255,.055);border-radius:999px;background:rgba(255,255,255,.018)}
.hpp-nav a{position:relative;padding:8px 12px;border-radius:999px;font-size:12px;color:#aeb6c3;overflow:hidden}
.hpp-nav a:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,color-mix(in srgb,var(--hpp-accent) 13%,transparent),rgba(255,255,255,.03));opacity:0;transition:.25s}
.hpp-nav a:hover,.hpp-nav a.is-active{color:#fff}
.hpp-nav a:hover:before,.hpp-nav a.is-active:before{opacity:1}
.hpp-nav a.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hpp-accent) 18%,transparent)}
.hpp-nav-cta{position:relative;overflow:hidden;padding:11px 18px;border-color:color-mix(in srgb,var(--hpp-accent) 22%,var(--hpp-line));background:linear-gradient(135deg,color-mix(in srgb,var(--hpp-accent) 9%,transparent),rgba(255,255,255,.035));font-weight:650}
.hpp-nav-cta:before{content:"";position:absolute;top:-80%;left:-50%;width:34%;height:260%;transform:rotate(24deg) translateX(-180%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .65s ease}
.hpp-nav-cta:hover{background:color-mix(in srgb,var(--hpp-accent) 12%,#0d1117);box-shadow:0 12px 35px color-mix(in srgb,var(--hpp-accent) 10%,transparent)}
.hpp-nav-cta:hover:before{transform:rotate(24deg) translateX(520%)}
.hpp-scroll-progress{--hpp-scroll:0;position:absolute;left:50%;bottom:-8px;width:min(1180px,calc(100% - 80px));height:2px;transform:translateX(-50%);overflow:hidden;border-radius:999px;pointer-events:none;opacity:.85}
.hpp-scroll-progress:after{content:"";display:block;width:100%;height:100%;transform:scaleX(var(--hpp-scroll));transform-origin:left;background:linear-gradient(90deg,var(--hpp-accent),var(--hpp-accent-2));box-shadow:0 0 16px color-mix(in srgb,var(--hpp-accent) 45%,transparent)}
.hpp-menu-toggle{position:relative;overflow:hidden;transition:.25s ease}
.hpp-menu-toggle:hover{border-color:color-mix(in srgb,var(--hpp-accent) 30%,transparent);background:color-mix(in srgb,var(--hpp-accent) 7%,#0d1117)}
.hpp-menu-toggle span{transition:transform .28s ease,opacity .2s ease}
.hpp-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.hpp-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.hpp-hero:before{content:"";position:absolute;left:50%;top:5%;width:min(70vw,920px);height:min(70vw,920px);transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hpp-accent-2) 8%,transparent),transparent 63%);filter:blur(8px);pointer-events:none;z-index:-2}
.hpp-eyebrow{box-shadow:inset 0 1px rgba(255,255,255,.04),0 10px 35px rgba(0,0,0,.16)}
.hpp-display{text-wrap:balance}
.hpp-btn-primary{position:relative;overflow:hidden}
.hpp-btn-primary:after{content:"";position:absolute;inset:-30% auto -30% -35%;width:28%;transform:skewX(-20deg) translateX(-220%);background:rgba(255,255,255,.4);transition:transform .65s ease}
.hpp-btn-primary:hover:after{transform:skewX(-20deg) translateX(620%)}
.hpp-portrait-card:after{content:"";position:absolute;inset:0;border-radius:30px;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.09),transparent 28%,transparent 68%,color-mix(in srgb,var(--hpp-accent) 6%,transparent));mix-blend-mode:screen}
.hpp-floating-chip{box-shadow:0 14px 40px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05)}

.hpp-project-more-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:34px}
.hpp-project-more{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:220px;height:54px;padding:0 18px;border:1px solid color-mix(in srgb,var(--hpp-accent) 25%,var(--hpp-line));border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.022));color:#f2f5f9;font-size:12px;font-weight:700;letter-spacing:.025em;cursor:pointer;box-shadow:0 16px 38px rgba(0,0,0,.18);transition:.3s ease;overflow:hidden}
.hpp-project-more:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,color-mix(in srgb,var(--hpp-accent) 15%,transparent),transparent 58%);opacity:.65}
.hpp-project-more span,.hpp-project-more b{position:relative;z-index:1}
.hpp-project-more b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--hpp-accent);color:#090b0f;font-size:14px;transition:.3s ease}
.hpp-project-more:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--hpp-accent) 50%,transparent);box-shadow:0 20px 46px color-mix(in srgb,var(--hpp-accent) 8%,rgba(0,0,0,.25))}
.hpp-project-more:hover b{transform:translateY(2px)}
.hpp-project-more[hidden]{display:none!important}
.hpp-project-more-wrap small{min-height:16px;color:#666f7f;font-size:9px;text-transform:uppercase;letter-spacing:.13em}
.hpp-project-card{will-change:transform}
.hpp-project-card:not(.is-filtered-out):hover{border-color:color-mix(in srgb,var(--hpp-accent) 18%,var(--hpp-line));box-shadow:0 22px 58px rgba(0,0,0,.24)}

.hpp-service-card:before,.hpp-capability-panel:before,.hpp-contact-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 25%,transparent 72%,color-mix(in srgb,var(--hpp-accent-2) 4%,transparent));opacity:.8}
.hpp-capability-panel{position:relative;overflow:hidden}
.hpp-contact-card>*{position:relative;z-index:1}

.hpp-footer{position:relative;overflow:hidden;padding-top:0;background:linear-gradient(180deg,#080a0e 0%,#07090d 100%);border-top:1px solid rgba(255,255,255,.08)}
.hpp-footer-glow{position:absolute;left:50%;top:-260px;width:780px;height:520px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hpp-accent-2) 16%,transparent),color-mix(in srgb,var(--hpp-accent) 7%,transparent) 34%,transparent 68%);filter:blur(38px);pointer-events:none;opacity:.7}
.hpp-footer-hero{position:relative;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:82px 0 64px;border-bottom:1px solid var(--hpp-line)}
.hpp-footer-hero>div{max-width:760px}
.hpp-footer-hero h2{margin:0;font-size:clamp(48px,6vw,82px);line-height:.96;letter-spacing:-.055em}
.hpp-footer-hero h2 em{font-style:normal;color:transparent;background:linear-gradient(110deg,var(--hpp-accent),#d6ff9e 42%,var(--hpp-accent-2));-webkit-background-clip:text;background-clip:text}
.hpp-footer-hero p{max-width:650px;margin:22px 0 0;color:#868f9e;font-size:14px}
.hpp-footer-orbit-cta{position:relative;width:142px;height:142px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--hpp-accent) 28%,var(--hpp-line));border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hpp-accent) 11%,transparent),rgba(255,255,255,.018));box-shadow:inset 0 0 0 10px rgba(255,255,255,.012),0 24px 60px rgba(0,0,0,.25);transition:.35s ease}
.hpp-footer-orbit-cta:before,.hpp-footer-orbit-cta:after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.08);inset:-12px;animation:hpp-spin 18s linear infinite}
.hpp-footer-orbit-cta:after{inset:12px;border-style:solid;border-color:color-mix(in srgb,var(--hpp-accent-2) 13%,transparent);animation-direction:reverse;animation-duration:12s}
.hpp-footer-orbit-cta span{width:76px;text-align:center;font-size:11px;font-weight:700;line-height:1.35}
.hpp-footer-orbit-cta b{position:absolute;right:22px;top:21px;color:var(--hpp-accent);font-size:17px}
.hpp-footer-orbit-cta:hover{transform:translateY(-6px) scale(1.025);border-color:color-mix(in srgb,var(--hpp-accent) 52%,transparent);box-shadow:inset 0 0 0 10px rgba(255,255,255,.016),0 28px 70px color-mix(in srgb,var(--hpp-accent) 8%,rgba(0,0,0,.28))}
.hpp-footer-main{position:relative;display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:70px;padding:48px 0}
.hpp-footer-brand p{max-width:390px;margin:17px 0 19px;color:#707988;font-size:12px}
.hpp-footer-tags{display:flex;gap:7px;flex-wrap:wrap}
.hpp-footer-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.02);color:#747d8b;font-size:8px;text-transform:uppercase;letter-spacing:.12em}
.hpp-footer-links{display:grid;align-content:start;gap:9px}
.hpp-footer-links>span{margin-bottom:7px;color:var(--hpp-accent);font-size:8px;text-transform:uppercase;letter-spacing:.17em;font-weight:700}
.hpp-footer-links a{width:max-content;max-width:100%;color:#9da6b4;font-size:12px;transition:.2s ease}
.hpp-footer-links a:hover{color:#fff;transform:translateX(3px)}
.hpp-footer .hpp-footer-bottom{position:relative;padding:20px 0 26px;color:#5f6877}
.hpp-footer-single .hpp-footer-main{grid-template-columns:1fr auto;padding-top:54px}

@keyframes hpp-brand-pulse{0%{transform:scale(.7);opacity:.75}70%,100%{transform:scale(1.75);opacity:0}}

@media(max-width:1080px){
  .hpp-header{top:10px}.hpp-header .hpp-nav-wrap{height:68px}.hpp-nav{gap:3px}.hpp-nav a{padding:8px 9px}.hpp-footer-main{gap:40px}.hpp-footer-hero{gap:35px}
}
@media(max-width:820px){
  body.hpp-menu-open{overflow:hidden}
  .hpp-header{top:8px}.hpp-header.is-scrolled{top:8px}.hpp-header .hpp-nav-wrap,.hpp-header.is-scrolled .hpp-nav-wrap{height:64px;border-radius:18px;padding:0 10px 0 15px}
  .hpp-scroll-progress{bottom:-6px;width:calc(100% - 54px)}
  .hpp-mobile-nav{top:72px;left:15px;right:15px;gap:4px;padding:11px;border-radius:18px;background:linear-gradient(180deg,rgba(13,16,23,.98),rgba(8,11,16,.98));box-shadow:0 25px 75px rgba(0,0,0,.42);border-color:rgba(255,255,255,.12);pointer-events:auto}
  .hpp-mobile-nav:before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--hpp-accent),transparent);opacity:.55}
  .hpp-mobile-nav a{position:relative;padding:13px 14px;font-size:13px}
  .hpp-mobile-nav a:after{content:"↗";position:absolute;right:14px;color:#56606e}
  .hpp-footer-hero{grid-template-columns:1fr;padding:68px 0 48px}
  .hpp-footer-orbit-cta{width:122px;height:122px}
  .hpp-footer-main{grid-template-columns:1.2fr .8fr;gap:36px}.hpp-footer-brand{grid-row:1 / span 2}.hpp-footer-main .hpp-footer-links{grid-column:2}.hpp-footer-main .hpp-footer-links:last-child{grid-column:2}
  .hpp-footer-single .hpp-footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .hpp-header .hpp-container{width:calc(100% - 20px)}
  .hpp-header .hpp-nav-wrap,.hpp-header.is-scrolled .hpp-nav-wrap{height:60px;padding-left:13px;border-radius:17px}
  .hpp-brand strong{font-size:14px;letter-spacing:.18em}.hpp-brand-dot{width:8px;height:8px}
  .hpp-mobile-nav{top:68px;left:10px;right:10px}
  .hpp-scroll-progress{width:calc(100% - 38px);bottom:-5px}
  .hpp-hero{padding-top:118px}
  .hpp-project-more-wrap{margin-top:26px}.hpp-project-more{width:100%;max-width:310px}
  .hpp-footer-hero{padding:58px 0 42px}.hpp-footer-hero h2{font-size:46px}.hpp-footer-hero p{font-size:13px}
  .hpp-footer-orbit-cta{width:110px;height:110px}.hpp-footer-orbit-cta:before{inset:-8px}
  .hpp-footer-main,.hpp-footer-single .hpp-footer-main{grid-template-columns:1fr;gap:30px;padding:38px 0}.hpp-footer-brand{grid-row:auto}.hpp-footer-main .hpp-footer-links,.hpp-footer-main .hpp-footer-links:last-child{grid-column:auto}
  .hpp-footer-bottom{gap:9px!important}.hpp-footer-bottom span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){.hpp-brand-dot:after,.hpp-footer-orbit-cta:before,.hpp-footer-orbit-cta:after{animation:none!important}.hpp-project-card{will-change:auto}}


/* ===== v1.2.0 sharp/no-red + premium interaction layer ===== */
.hpp-shell{position:relative}
.hpp-shell:before{content:"";position:fixed;left:0;top:0;width:520px;height:520px;transform:translate(calc(var(--hpp-mx,50vw) - 260px),calc(var(--hpp-my,35vh) - 260px));border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hpp-accent-2) 7%,transparent),color-mix(in srgb,var(--hpp-accent) 3%,transparent) 34%,transparent 70%);pointer-events:none;z-index:-2;opacity:.8;will-change:transform}
.hpp-reveal{opacity:1;transform:none;filter:none!important;transition:none}
.hpp-shell a,.hpp-shell button{outline:none;text-decoration:none}
.hpp-shell a:focus-visible,.hpp-shell button:focus-visible,.hpp-shell input:focus-visible,.hpp-shell textarea:focus-visible,.hpp-shell select:focus-visible{outline:2px solid var(--hpp-accent)!important;outline-offset:3px!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--hpp-accent) 13%,transparent)!important}
.hpp-shell input:focus,.hpp-shell textarea:focus,.hpp-shell select:focus{border-color:color-mix(in srgb,var(--hpp-accent) 58%,#fff)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--hpp-accent) 10%,transparent)!important}
.hpp-menu-toggle,.hpp-menu-toggle:hover,.hpp-menu-toggle:active{border-color:rgba(255,255,255,.14)!important;background:rgba(255,255,255,.045)!important;color:#f5f7fb!important;box-shadow:none!important}
.hpp-menu-toggle:hover{border-color:color-mix(in srgb,var(--hpp-accent) 40%,rgba(255,255,255,.14))!important;background:color-mix(in srgb,var(--hpp-accent) 7%,#0d1118)!important}
.hpp-menu-toggle span{background:#f5f7fb!important}
.hpp-nav-cta{position:relative;overflow:hidden;color:#f4f7fb!important;border-color:color-mix(in srgb,var(--hpp-accent) 30%,rgba(255,255,255,.12))!important;background:linear-gradient(180deg,color-mix(in srgb,var(--hpp-accent) 9%,rgba(255,255,255,.045)),rgba(255,255,255,.025))!important;box-shadow:inset 0 1px rgba(255,255,255,.07),0 10px 24px rgba(0,0,0,.16)!important}
.hpp-nav-cta:before{content:"";position:absolute;top:-20%;bottom:-20%;left:-50%;width:42%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .55s ease;pointer-events:none}
.hpp-nav-cta:hover{color:#0b0d10!important;background:var(--hpp-accent)!important;border-color:var(--hpp-accent)!important;box-shadow:0 14px 34px color-mix(in srgb,var(--hpp-accent) 15%,rgba(0,0,0,.2))!important}
.hpp-nav-cta:hover:before{left:115%}.hpp-nav-cta span{color:inherit!important}
.hpp-nav a,.hpp-nav a:visited{color:#bdc4d1!important}.hpp-nav a:hover{color:#fff!important}.hpp-nav a.is-active{color:#0b0d10!important;background:var(--hpp-accent)!important}
.hpp-project-card{--spot-x:50%;--spot-y:45%;position:relative;isolation:isolate;border:1px solid transparent;background:linear-gradient(180deg,#111722,#0b0f16) padding-box,linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 34%,color-mix(in srgb,var(--hpp-accent-2) 20%,transparent) 72%,color-mix(in srgb,var(--hpp-accent) 18%,transparent)) border-box;box-shadow:0 18px 44px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.035);transition:transform .26s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .35s ease,background .35s ease}
.hpp-project-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(360px circle at var(--spot-x) var(--spot-y),color-mix(in srgb,var(--hpp-accent-2) 8%,transparent),color-mix(in srgb,var(--hpp-accent) 4%,transparent) 32%,transparent 66%);opacity:.65;transition:opacity .3s ease}
.hpp-project-card>*{position:relative;z-index:1}.hpp-project-card:not(.is-filtered-out):hover{transform:perspective(1100px) translateY(-8px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 32px 78px rgba(0,0,0,.34),0 0 0 1px color-mix(in srgb,var(--hpp-accent) 9%,transparent);border-color:transparent}.hpp-project-card:not(.is-filtered-out):hover:after{opacity:1}
.hpp-project-visual{margin:11px 11px 0;border-color:rgba(255,255,255,.085);box-shadow:inset 0 1px rgba(255,255,255,.035);background:linear-gradient(160deg,#121824,#090d13)}.hpp-project-visual:after{content:"";position:absolute;inset:38px 0 0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(7,9,13,.2));z-index:1}
.hpp-project-visual>img{position:relative;z-index:0;filter:saturate(.94) contrast(1.02);transform:scale(1.002);transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s ease}.hpp-project-card:hover .hpp-project-visual>img{transform:scale(1.045);filter:saturate(1.02) contrast(1.04) brightness(.9)}
.hpp-project-hover{z-index:3;color:#f5f7fb!important;border-color:rgba(255,255,255,.15);box-shadow:0 14px 34px rgba(0,0,0,.3)}.hpp-project-hover b{background:var(--hpp-accent)!important;color:#0b0d10!important}
.hpp-project-body{padding:23px 24px 26px}.hpp-project-body h3 a,.hpp-project-body h3 a:visited{color:#f5f7fb!important}.hpp-project-body h3 a:hover{color:var(--hpp-accent)!important}.hpp-project-links a,.hpp-project-links a:visited{color:#c7ced9!important}.hpp-project-links a:hover{color:var(--hpp-accent)!important}.hpp-project-meta span{color:var(--hpp-accent)!important}
.hpp-filter:hover,.hpp-filter.is-active{color:#0b0d10!important;background:var(--hpp-accent)!important;border-color:var(--hpp-accent)!important}.hpp-btn-primary,.hpp-btn-primary:visited{color:#0b0d10!important;background:var(--hpp-accent)!important}.hpp-btn-primary:hover{color:#0b0d10!important;background:#d6ff9e!important}.hpp-btn-ghost,.hpp-btn-ghost:visited{color:#f5f7fb!important}.hpp-project-more{color:#f5f7fb!important}.hpp-project-more:hover{color:#0b0d10!important;background:var(--hpp-accent)!important;border-color:var(--hpp-accent)!important}
.hpp-case-browser{border-color:rgba(255,255,255,.11);background:linear-gradient(180deg,#10151e,#0b0f16);box-shadow:0 28px 80px rgba(0,0,0,.28)}.hpp-case-browser img{display:block;width:100%;height:auto;max-height:900px;object-fit:cover;object-position:top center;filter:none!important}
.hpp-rich-content h3{margin:32px 0 10px;font-size:20px;letter-spacing:-.025em;color:#f2f5f9}.hpp-rich-content h3:first-child{margin-top:0}.hpp-rich-content ul{margin:14px 0 0;padding-left:20px;color:#9da6b6}.hpp-rich-content li{margin:7px 0}
.hpp-footer a,.hpp-footer a:visited{color:inherit}.hpp-footer-links a,.hpp-footer-links a:visited{color:#9da6b4!important}.hpp-footer-links a:hover{color:#fff!important}
@media(max-width:820px){.hpp-shell:before{display:none}.hpp-project-card:not(.is-filtered-out):hover{transform:none}}
@media(prefers-reduced-motion:reduce){.hpp-shell:before{display:none}.hpp-reveal{opacity:1!important;transform:none!important;filter:none!important}}

/* v1.2.0 theme-bleed hardening: no foreign red/pink focus or button state */
@media(min-width:821px){.hpp-shell .hpp-menu-toggle{display:none!important}}
@media(max-width:820px){.hpp-shell .hpp-menu-toggle{display:flex!important}}
.hpp-shell a:focus,.hpp-shell button:focus{outline:none!important;box-shadow:none!important}
.hpp-shell .hpp-menu-toggle:focus,.hpp-shell .hpp-menu-toggle:focus-visible,.hpp-shell .hpp-menu-toggle:active{border-color:color-mix(in srgb,var(--hpp-accent) 48%,rgba(255,255,255,.14))!important;background:color-mix(in srgb,var(--hpp-accent) 7%,#0d1118)!important;outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--hpp-accent) 10%,transparent)!important}
.hpp-shell .hpp-nav-cta:focus,.hpp-shell .hpp-nav-cta:active{color:#0b0d10!important;background:var(--hpp-accent)!important;border-color:var(--hpp-accent)!important;outline:none!important;box-shadow:0 12px 30px color-mix(in srgb,var(--hpp-accent) 14%,transparent)!important}
.hpp-shell .hpp-filter:focus,.hpp-shell .hpp-project-more:focus,.hpp-shell .hpp-btn:focus{outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--hpp-accent) 11%,transparent)!important}

/* ===== v1.4.0 bespoke portfolio + lift + Elementor accent hardening ===== */
.hpp-experience-page,
.hpp-experience-page .hpp-shell,
.hpp-shell{
  --e-global-color-primary:#f5f7fb!important;
  --e-global-color-secondary:#9da6b6!important;
  --e-global-color-text:#c8ced8!important;
  --e-global-color-accent:var(--hpp-accent)!important;
  --e-global-color-4f9c86d:var(--hpp-accent)!important;
  accent-color:var(--hpp-accent);
}
.hpp-experience-page .hpp-shell :where(a,button,input,textarea,select,summary,[tabindex]):focus,
.hpp-experience-page .hpp-shell :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline-color:var(--hpp-accent)!important;
  border-color:color-mix(in srgb,var(--hpp-accent) 54%,rgba(255,255,255,.12))!important;
}
.hpp-experience-page .hpp-shell input::selection,
.hpp-experience-page .hpp-shell textarea::selection,
.hpp-experience-page .hpp-shell ::selection{background:color-mix(in srgb,var(--hpp-accent-2) 44%,#111722);color:#fff}
.hpp-section{scroll-margin-top:118px;isolation:isolate}
.hpp-section[data-hpp-floor]::before{content:attr(data-hpp-floor);position:absolute;right:max(22px,calc((100vw - 1240px)/2));top:88px;z-index:-1;color:rgba(255,255,255,.022);font-size:clamp(96px,12vw,190px);font-weight:850;line-height:.75;letter-spacing:-.08em;pointer-events:none;user-select:none}
.hpp-section-scan{position:absolute;left:50%;top:0;width:min(1240px,calc(100% - 48px));height:1px;transform:translateX(-50%) scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--hpp-accent),color-mix(in srgb,var(--hpp-accent-2) 80%,#fff),transparent 82%);opacity:.32;pointer-events:none}

.hpp-lift-trigger{appearance:none;display:inline-grid;grid-template-columns:26px auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-width:84px;height:44px;padding:5px 11px 5px 7px;border:1px solid color-mix(in srgb,var(--hpp-accent-2) 28%,rgba(255,255,255,.10));border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));color:#f5f7fb!important;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.05),0 10px 28px rgba(0,0,0,.16);transition:transform .25s ease,border-color .25s ease,background .25s ease;position:relative;overflow:hidden}
.hpp-lift-trigger::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,color-mix(in srgb,var(--hpp-accent) 18%,transparent),transparent 68%);transform:translateX(-120%);transition:transform .65s ease}
.hpp-lift-trigger:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--hpp-accent) 42%,rgba(255,255,255,.12));background:linear-gradient(145deg,color-mix(in srgb,var(--hpp-accent) 8%,#10151d),rgba(255,255,255,.025))}
.hpp-lift-trigger:hover::after{transform:translateX(120%)}
.hpp-lift-icon{grid-row:1/3;display:grid;place-items:center;width:26px;height:30px;border:1px solid color-mix(in srgb,var(--hpp-accent) 34%,rgba(255,255,255,.10));border-radius:8px 3px 8px 3px;color:var(--hpp-accent);font-size:14px;line-height:1;background:#0b1017}
.hpp-lift-trigger>span:not(.hpp-lift-icon){align-self:end;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.hpp-lift-trigger>small{align-self:start;color:#697383;font-size:7px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hpp-mobile-lift{appearance:none;width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--hpp-accent) 24%,rgba(255,255,255,.10));border-radius:12px;background:color-mix(in srgb,var(--hpp-accent) 5%,#0d121a);color:#eef3f8!important;text-align:left;font-size:12px;font-weight:700;cursor:pointer}
.hpp-mobile-lift span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--hpp-accent);color:#0a0d11;font-size:13px}

.hpp-floor-rail{position:fixed;right:18px;top:50%;z-index:760;display:grid;gap:5px;transform:translateY(-50%);padding:8px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:rgba(9,12,17,.68);backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(0,0,0,.22)}
.hpp-floor-rail a{display:grid;grid-template-columns:28px 0fr;align-items:center;gap:0;height:32px;border-radius:10px;color:#737c89!important;overflow:hidden;transition:grid-template-columns .28s ease,background .28s ease,color .28s ease;padding .28s ease}
.hpp-floor-rail a span{display:grid;place-items:center;width:28px;height:28px;font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.hpp-floor-rail a b{min-width:0;overflow:hidden;white-space:nowrap;font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:750;opacity:0;transform:translateX(-4px);transition:opacity .25s ease,transform .25s ease}
.hpp-floor-rail a:hover,.hpp-floor-rail a.is-active{grid-template-columns:28px 56px;padding-right:8px;background:rgba(255,255,255,.045);color:#f5f7fb!important}
.hpp-floor-rail a.is-active span{color:#0a0d11;background:var(--hpp-accent);border-radius:8px;box-shadow:0 0 18px color-mix(in srgb,var(--hpp-accent) 22%,transparent)}
.hpp-floor-rail a:hover b,.hpp-floor-rail a.is-active b{opacity:1;transform:none}

.hpp-motion-signature{display:flex;align-items:center;gap:12px;margin-top:28px;color:#66707f;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;width:min(410px,100%)}
.hpp-motion-signature i{position:relative;flex:1;height:1px;background:rgba(255,255,255,.10);overflow:hidden}
.hpp-motion-signature i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--hpp-accent),transparent);transform:translateX(-100%);animation:hpp-signature-scan 2.8s cubic-bezier(.4,0,.2,1) infinite}
.hpp-motion-signature b{color:#929baa;font-size:8px;font-weight:800}
@keyframes hpp-signature-scan{0%,18%{transform:translateX(-105%)}70%,100%{transform:translateX(105%)}}

.hpp-section-head{position:relative;padding-top:10px}
.hpp-section-head::before{content:"";position:absolute;left:0;top:0;width:54px;height:2px;background:linear-gradient(90deg,var(--hpp-accent),var(--hpp-accent-2));box-shadow:0 0 18px color-mix(in srgb,var(--hpp-accent) 18%,transparent)}
.hpp-section-head h2,.hpp-about-copy h2,.hpp-contact-copy h2{max-width:900px;text-wrap:balance}
.hpp-kicker{display:inline-flex;align-items:center;gap:8px}
.hpp-kicker::before{content:"";width:17px;height:1px;background:currentColor;opacity:.6}

.hpp-project-card{transform-style:preserve-3d;overflow:visible!important}
.hpp-project-card::before{content:attr(data-project-index);position:absolute;right:20px;top:18px;z-index:5;color:rgba(255,255,255,.28);font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;pointer-events:none}
.hpp-project-edge{position:absolute;inset:-1px;z-index:4;border-radius:inherit;pointer-events:none;opacity:.75;background:linear-gradient(135deg,var(--hpp-accent) 0 1px,transparent 1px) top left/28px 28px no-repeat,linear-gradient(-45deg,var(--hpp-accent-2) 0 1px,transparent 1px) bottom right/28px 28px no-repeat}
.hpp-project-card .hpp-project-visual{transform:translateZ(18px);box-shadow:0 12px 34px rgba(0,0,0,.17)}
.hpp-project-card .hpp-project-body{transform:translateZ(10px)}
.hpp-project-card:hover .hpp-project-visual{box-shadow:0 24px 54px rgba(0,0,0,.3),0 0 0 1px color-mix(in srgb,var(--hpp-accent) 10%,transparent)}
.hpp-project-card:hover .hpp-project-edge{opacity:1}
.hpp-project-hover{backdrop-filter:blur(8px)!important;background:rgba(6,9,13,.88)!important}

.hpp-service-grid,.hpp-process-grid{position:relative}
.hpp-process-grid::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--hpp-accent),var(--hpp-accent-2),transparent);transform:scaleX(var(--hpp-process-line,0));transform-origin:left;opacity:.38}
.hpp-service-card,.hpp-process-card{position:relative;overflow:hidden}
.hpp-service-card::after,.hpp-process-card::after{content:"";position:absolute;left:-25%;bottom:-65%;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hpp-accent-2) 8%,transparent),transparent 68%);pointer-events:none;transition:transform .5s ease,opacity .5s ease;opacity:.65}
.hpp-service-card:hover::after,.hpp-process-card:hover::after{transform:translate(18px,-18px) scale(1.08);opacity:1}
.hpp-capability-panel{box-shadow:0 30px 90px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04)}
.hpp-contact-card{box-shadow:0 35px 100px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.04)}

@media(max-width:1180px){.hpp-floor-rail{display:none}}
@media(max-width:980px){.hpp-lift-trigger{display:none}.hpp-nav-wrap{gap:20px}}
@media(max-width:820px){
  .hpp-section[data-hpp-floor]::before{right:16px;top:70px;font-size:92px;opacity:.65}
  .hpp-section-scan{width:calc(100% - 30px)}
  .hpp-motion-signature{margin-top:22px}
  .hpp-mobile-nav .hpp-mobile-lift{display:flex}
  .hpp-project-card{overflow:hidden!important;transform-style:flat}
  .hpp-project-card .hpp-project-visual,.hpp-project-card .hpp-project-body{transform:none}
}
@media(min-width:821px){.hpp-mobile-lift{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .hpp-motion-signature i::after{animation:none;transform:none;background:var(--hpp-accent)}
  .hpp-floor-rail,.hpp-project-edge{transition:none!important}
}

/* ===== v1.5.0 visual polish / zero foreign accent bleed ===== */
.hpp-experience-page .hpp-shell :where(a,button,input,select,textarea),
.hpp-experience-page .hpp-shell :where(a,button,input,select,textarea):hover,
.hpp-experience-page .hpp-shell :where(a,button,input,select,textarea):active,
.hpp-experience-page .hpp-shell :where(a,button,input,select,textarea):focus,
.hpp-experience-page .hpp-shell :where(a,button,input,select,textarea):focus-visible{
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
  text-decoration-color:currentColor!important;
}
.hpp-experience-page .hpp-shell :where(button,[type="button"],[type="submit"],.hpp-btn,.hpp-nav-cta,.hpp-project-more,.hpp-lift-trigger){
  border-color:color-mix(in srgb,var(--hpp-accent) 24%,rgba(255,255,255,.12))!important;
}
.hpp-experience-page .hpp-shell :where(button,[type="button"],[type="submit"],.hpp-btn,.hpp-nav-cta,.hpp-project-more,.hpp-lift-trigger):focus-visible{
  border-color:var(--hpp-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--hpp-accent) 16%,transparent),0 14px 32px rgba(0,0,0,.18)!important;
}
.hpp-experience-page .hpp-shell input:focus,
.hpp-experience-page .hpp-shell select:focus,
.hpp-experience-page .hpp-shell textarea:focus{
  border-color:color-mix(in srgb,var(--hpp-accent) 62%,rgba(255,255,255,.15))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--hpp-accent) 10%,transparent)!important;
}
.hpp-nav-cta,.hpp-nav-cta:visited{color:#f4f7fb!important;background:rgba(255,255,255,.035)!important}
.hpp-nav-cta:hover,.hpp-nav-cta:focus-visible{color:#0a0d11!important;background:var(--hpp-accent)!important;border-color:var(--hpp-accent)!important}
.hpp-footer-orbit-cta,.hpp-footer-orbit-cta:visited,.hpp-footer-orbit-cta:hover,.hpp-footer-orbit-cta:focus-visible{color:#f7f9fc!important}
.hpp-footer-orbit-cta:hover span,.hpp-footer-orbit-cta:focus-visible span{color:#fff!important}
.hpp-contact-form .hpp-btn-primary,.hpp-contact-form .hpp-btn-primary:hover,.hpp-contact-form .hpp-btn-primary:focus-visible{border-color:var(--hpp-accent)!important;color:#0a0d11!important}

/* Project cards: more editorial, less template-like. */
.hpp-project-grid{gap:30px}
.hpp-project-card{position:relative;border-radius:24px!important;background:linear-gradient(180deg,rgba(18,22,29,.98),rgba(10,13,18,.98))!important;border:1px solid rgba(255,255,255,.105)!important;box-shadow:0 18px 55px rgba(0,0,0,.22)!important;overflow:hidden!important;transform-style:preserve-3d}
.hpp-project-card::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 4%,rgba(255,255,255,.24),color-mix(in srgb,var(--hpp-accent) 38%,transparent),transparent 96%);opacity:.65;pointer-events:none}
.hpp-project-edge{display:none!important}
.hpp-project-card .hpp-project-visual{margin:12px 12px 0!important;border-radius:17px!important;border-color:rgba(255,255,255,.08)!important;background:#090c11!important;box-shadow:0 14px 36px rgba(0,0,0,.24)!important;transform:translateZ(12px);transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,border-color .45s ease}
.hpp-project-card .hpp-project-body{padding:24px 26px 27px!important;transform:translateZ(8px)}
.hpp-project-card .hpp-project-meta{padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.065)}
.hpp-project-card .hpp-project-body h3{margin:15px 0 9px!important;font-size:clamp(21px,2vw,27px)!important}
.hpp-project-card .hpp-project-body p{min-height:0!important;color:#929baa!important;font-size:13px!important;line-height:1.68!important}
.hpp-project-card .hpp-project-links{margin-top:21px!important;padding-top:16px;border-top:1px solid rgba(255,255,255,.055);align-items:center}
.hpp-project-card .hpp-project-links a{display:inline-flex;align-items:center;gap:7px;font-weight:650;letter-spacing:.015em}
.hpp-project-card .hpp-project-links a::after{content:"";width:22px;height:1px;background:currentColor;opacity:.38;transition:width .28s ease,opacity .28s ease}
.hpp-project-card .hpp-project-links a:hover::after{width:34px;opacity:.85}
.hpp-project-card:hover{border-color:color-mix(in srgb,var(--hpp-accent) 30%,rgba(255,255,255,.12))!important;box-shadow:0 30px 80px rgba(0,0,0,.34)!important}
.hpp-project-card:hover .hpp-project-visual{transform:translateZ(18px) translateY(-3px);border-color:color-mix(in srgb,var(--hpp-accent) 20%,rgba(255,255,255,.12))!important;box-shadow:0 25px 58px rgba(0,0,0,.34)!important}
.hpp-project-hover{background:rgba(7,9,13,.93)!important;border-color:rgba(255,255,255,.16)!important;color:#f7f9fc!important;box-shadow:0 12px 34px rgba(0,0,0,.34)}

/* Premium show-more control. */
.hpp-project-more-wrap{margin-top:42px!important;gap:12px!important}
.hpp-project-more{min-width:272px!important;height:60px!important;padding:0 12px 0 22px!important;border-radius:16px!important;background:linear-gradient(180deg,#121720,#0d1118)!important;color:#f7f9fc!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 18px 46px rgba(0,0,0,.25)!important;justify-content:space-between!important;letter-spacing:.01em!important}
.hpp-project-more::before{background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,var(--hpp-accent) 8%,transparent),transparent 75%)!important;transform:translateX(-100%);transition:transform .65s ease}
.hpp-project-more:hover::before{transform:translateX(100%)}
.hpp-project-more b{width:36px!important;height:36px!important;border-radius:11px!important;background:var(--hpp-accent)!important;color:#090c10!important;box-shadow:0 8px 22px color-mix(in srgb,var(--hpp-accent) 16%,transparent)}
.hpp-project-more:hover,.hpp-project-more:focus-visible{color:#fff!important;background:linear-gradient(180deg,#151b24,#0f141b)!important;border-color:color-mix(in srgb,var(--hpp-accent) 48%,rgba(255,255,255,.12))!important;transform:translateY(-3px)!important}
.hpp-project-more-wrap small{color:#828b99!important;letter-spacing:.14em!important;background:transparent!important}

/* Service cards with editable image icons and handcrafted line-icon fallback. */
.hpp-service-grid{gap:18px!important}
.hpp-service-card{min-height:390px!important;padding:28px 26px 26px!important;border-radius:22px!important;background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.014))!important;border-color:rgba(255,255,255,.105)!important;box-shadow:0 18px 48px rgba(0,0,0,.16)!important;overflow:hidden}
.hpp-service-card::after{content:"";position:absolute;left:26px;right:26px;top:72px;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--hpp-accent) 55%,transparent),rgba(255,255,255,.07),transparent);opacity:.35}
.hpp-service-num{color:#737c8a!important;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.18em!important}
.hpp-service-icon{width:68px!important;height:68px!important;margin:42px 0 38px!important;border-radius:18px!important;background:linear-gradient(145deg,#10151d,#090d13)!important;border-color:rgba(255,255,255,.11)!important;color:var(--hpp-accent)!important;box-shadow:inset 0 1px rgba(255,255,255,.045),0 12px 30px rgba(0,0,0,.18)!important;overflow:hidden}
.hpp-service-icon svg{width:34px;height:34px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hpp-service-icon img{width:100%;height:100%;object-fit:contain;padding:12px;display:block;filter:none!important}
.hpp-service-card h3{font-size:20px!important;line-height:1.22!important;margin-bottom:12px!important;color:#f5f7fb!important}
.hpp-service-card p{color:#929baa!important;font-size:12.5px!important;line-height:1.62!important}
.hpp-service-card>a{left:26px!important;bottom:25px!important;color:#d4dae3!important;display:inline-flex;align-items:center;gap:7px;font-weight:650}
.hpp-service-card>a span{color:var(--hpp-accent);transition:transform .25s ease}
.hpp-service-card:hover>a span{transform:translate(3px,-2px)}
.hpp-service-card:hover{transform:translateY(-5px) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important;border-color:color-mix(in srgb,var(--hpp-accent) 28%,rgba(255,255,255,.12))!important;background:linear-gradient(180deg,color-mix(in srgb,var(--hpp-accent) 4%,#12171e),rgba(255,255,255,.012))!important;box-shadow:0 28px 70px rgba(0,0,0,.25)!important}

/* Floor rail: number and label deliberately separated. */
.hpp-floor-rail{right:20px!important;gap:7px!important;padding:10px!important;border-radius:20px!important}
.hpp-floor-rail a{grid-template-columns:34px 0fr!important;gap:0!important;min-height:38px!important;height:38px!important;border-radius:11px!important;padding:2px!important;transition:grid-template-columns .3s ease,gap .3s ease,padding .3s ease,background .25s ease,color .25s ease!important}
.hpp-floor-rail a span{width:34px!important;height:34px!important;font-size:8px!important;border-radius:9px!important}
.hpp-floor-rail a b{font-size:8px!important;letter-spacing:.14em!important;padding-left:0!important}
.hpp-floor-rail a:hover,.hpp-floor-rail a.is-active{grid-template-columns:34px 72px!important;gap:9px!important;padding:2px 10px 2px 2px!important}
.hpp-floor-rail a.is-active span{border-radius:9px!important}

@media(max-width:1080px){.hpp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hpp-service-card{min-height:350px!important}}
@media(max-width:820px){.hpp-floor-rail{display:none!important}.hpp-project-grid{gap:20px!important}.hpp-project-more{width:min(100%,320px)!important}.hpp-service-grid{grid-template-columns:1fr!important}.hpp-service-card{min-height:330px!important}.hpp-service-icon{margin:36px 0 30px!important}}
.hpp-lift-trigger,.hpp-lift-trigger:visited,.hpp-lift-trigger:active,.hpp-lift-trigger:focus-visible{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;color:#f5f7fb!important;box-shadow:inset 0 1px rgba(255,255,255,.05),0 10px 28px rgba(0,0,0,.16)!important}
.hpp-lift-trigger:hover{background:linear-gradient(145deg,color-mix(in srgb,var(--hpp-accent) 8%,#10151d),rgba(255,255,255,.025))!important;color:#fff!important}
.hpp-menu-toggle,.hpp-menu-toggle:active,.hpp-menu-toggle:focus-visible{background:rgba(255,255,255,.04)!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}
.hpp-menu-toggle:hover{background:color-mix(in srgb,var(--hpp-accent) 6%,#10151d)!important;border-color:color-mix(in srgb,var(--hpp-accent) 35%,rgba(255,255,255,.12))!important}
.hpp-footer-orbit-cta span,.hpp-footer-orbit-cta:visited span,.hpp-footer-orbit-cta:hover span,.hpp-footer-orbit-cta:focus-visible span{color:#f7f9fc!important;opacity:1!important}
\n\n/* ===== v1.6.0 — Resume CTA + rebuilt Show More control ===== */
.hpp-btn-resume{
  position:relative!important;display:inline-grid!important;grid-template-columns:34px auto!important;grid-template-rows:auto auto!important;
  column-gap:11px!important;align-items:center!important;justify-content:start!important;min-width:172px!important;min-height:54px!important;
  padding:8px 18px 8px 9px!important;border-radius:15px!important;border:1px solid rgba(255,255,255,.13)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;color:#f5f7fb!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 12px 30px rgba(0,0,0,.18)!important;overflow:hidden!important;
}
.hpp-btn-resume::before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 18%,color-mix(in srgb,var(--hpp-accent) 8%,transparent),transparent 72%);transform:translateX(-105%);transition:transform .62s ease;pointer-events:none}
.hpp-btn-resume:hover::before{transform:translateX(105%)}
.hpp-btn-resume:hover,.hpp-btn-resume:focus-visible{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--hpp-accent) 40%,rgba(255,255,255,.15))!important;background:linear-gradient(180deg,#141a22,#0d1218)!important;color:#fff!important}
.hpp-btn-resume-icon{position:relative;z-index:1;grid-row:1/3;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;margin:0!important;border-radius:10px!important;background:var(--hpp-accent)!important;color:#090c10!important;box-shadow:0 8px 20px color-mix(in srgb,var(--hpp-accent) 14%,transparent)!important}
.hpp-btn-resume-icon svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hpp-btn-resume-copy{position:relative;z-index:1;display:grid!important;gap:1px!important;align-self:center!important;line-height:1.05!important}
.hpp-btn-resume-copy strong{font-size:12px!important;font-weight:750!important;letter-spacing:.01em!important;color:inherit!important}
.hpp-btn-resume-copy small{font-size:8px!important;font-weight:650!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#7f8998!important}
.hpp-about-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.hpp-about-links .hpp-text-link{margin-top:0!important}.hpp-text-link-resume{color:#dfe5ed!important}.hpp-text-link-resume span{color:var(--hpp-accent)!important}

/* Reset foreign theme/Elementor button layout so the control can never split like the previous version. */
.hpp-experience-page .hpp-shell button.hpp-project-more{
  -webkit-appearance:none!important;appearance:none!important;position:relative!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;align-items:center!important;justify-items:stretch!important;gap:14px!important;
  width:min(100%,340px)!important;min-width:0!important;height:68px!important;min-height:68px!important;margin:0!important;
  padding:10px 10px 10px 24px!important;box-sizing:border-box!important;border-radius:19px!important;
  border:1px solid rgba(255,255,255,.14)!important;background:linear-gradient(180deg,#121821 0%,#0c1118 100%)!important;
  color:#f7f9fc!important;font-family:inherit!important;font-size:13px!important;font-weight:700!important;line-height:1.15!important;letter-spacing:.01em!important;text-align:left!important;
  box-shadow:0 18px 48px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.045)!important;overflow:hidden!important;cursor:pointer!important;
  transform:none!important;transition:transform .28s cubic-bezier(.2,.75,.2,1),border-color .28s ease,box-shadow .28s ease,background .28s ease!important;
}
.hpp-experience-page .hpp-shell button.hpp-project-more::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(112deg,transparent 15%,color-mix(in srgb,var(--hpp-accent) 9%,transparent),transparent 70%)!important;transform:translateX(-105%)!important;transition:transform .68s ease!important;pointer-events:none!important}
.hpp-experience-page .hpp-shell button.hpp-project-more::after{content:"";position:absolute;left:24px;right:74px;bottom:10px;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--hpp-accent) 70%,transparent),transparent);opacity:.42;pointer-events:none}
.hpp-experience-page .hpp-shell button.hpp-project-more:hover::before{transform:translateX(105%)!important}
.hpp-experience-page .hpp-shell button.hpp-project-more:hover,.hpp-experience-page .hpp-shell button.hpp-project-more:focus-visible{transform:translateY(-3px)!important;border-color:color-mix(in srgb,var(--hpp-accent) 44%,rgba(255,255,255,.16))!important;background:linear-gradient(180deg,#161d27,#0e141c)!important;box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 0 1px color-mix(in srgb,var(--hpp-accent) 8%,transparent)!important;color:#fff!important}
.hpp-project-more-label{position:relative!important;z-index:1!important;display:block!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;align-self:center!important;color:inherit!important;font-family:inherit!important;font-size:13px!important;font-weight:750!important;line-height:1.15!important;text-align:left!important;white-space:nowrap!important}
.hpp-project-more-icon{position:relative!important;z-index:1!important;display:grid!important;place-items:center!important;width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;margin:0!important;padding:0!important;border:0!important;border-radius:14px!important;background:var(--hpp-accent)!important;color:#090c10!important;box-shadow:0 10px 26px color-mix(in srgb,var(--hpp-accent) 17%,transparent)!important;justify-self:end!important;align-self:center!important;transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease!important}
.hpp-project-more-icon svg{display:block!important;width:19px!important;height:19px!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;fill:none!important}
.hpp-project-more:hover .hpp-project-more-icon{transform:translateY(2px)!important;box-shadow:0 14px 32px color-mix(in srgb,var(--hpp-accent) 21%,transparent)!important}
.hpp-project-more-wrap{align-items:center!important}.hpp-project-more-wrap>small[data-hpp-project-status]{display:block!important;margin:0!important;padding:0!important;color:#7c8695!important;font:700 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.16em!important;text-transform:uppercase!important;text-align:center!important;background:none!important;border:0!important}
@media(max-width:560px){.hpp-btn-resume{width:100%!important}.hpp-experience-page .hpp-shell button.hpp-project-more{width:min(100%,330px)!important}.hpp-project-more-label{font-size:12px!important}}
