:root{--bg:#020817;--bg-2:#030b1b;--panel:rgba(7,18,38,.72);--panel-2:rgba(255,255,255,.055);--text:#d8e6ff;--muted:#8da0c3;--heading:#f7fbff;--line:rgba(120,174,255,.18);--blue:#2f7dff;--cyan:#20d3ff;--violet:#7c5cff;--green:#4ade80;--red:#fb7185;--shadow:0 24px 80px rgba(0,0,0,.42);--soft:0 16px 42px rgba(0,0,0,.28);--container:1280px;--corner:10px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg)}body{min-height:100vh;background:radial-gradient(circle at 12% 3%,rgba(47,125,255,.24),transparent 34rem),radial-gradient(circle at 86% 8%,rgba(32,211,255,.14),transparent 31rem),linear-gradient(180deg,#020817,#030b1b 42%,#020817);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;color-scheme:dark}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(90deg,rgba(92,150,255,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(92,150,255,.05) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgba(255,255,255,.10) 1px,transparent 0);background-size:78px 78px,78px 78px,28px 28px;opacity:.58}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.05),transparent 28rem)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;color:#020817;padding:10px 14px;border-radius:8px;z-index:100000;transition:top .25s ease}.skip-link:focus{top:16px}.site-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(32,211,255,.18),transparent 28rem),#020817;color:#d8e6ff;transition:opacity .35s ease,visibility .35s ease}.site-loader.hide{opacity:0;visibility:hidden}.loader-orbit{position:relative;width:132px;height:132px;display:grid;place-items:center}.loader-orbit img{width:96px;height:74px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(32,211,255,.45))}.loader-orbit span{position:absolute;inset:0;border:1px solid rgba(32,211,255,.45);border-radius:50%;animation:spinLoader 1.6s linear infinite}.loader-orbit span:last-child{inset:16px;border-color:rgba(124,92,255,.55);animation-direction:reverse}.site-loader p{position:absolute;margin-top:174px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}@keyframes spinLoader{to{transform:rotate(360deg)}}.site-header{position:fixed;top:0;left:0;right:0;height:86px;z-index:9999;display:flex;align-items:center;background:rgba(2,8,23,.86);border-bottom:1px solid rgba(125,170,255,.16);box-shadow:0 12px 36px rgba(0,0,0,.26);backdrop-filter:blur(24px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:230px;height:64px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 18px rgba(32,211,255,.28))}.header-actions{display:flex;align-items:center;gap:12px}h1,h2,h3{color:var(--heading);line-height:1.08;letter-spacing:-.045em;font-weight:700}h1{font-size:clamp(2.35rem,4.35vw,5.15rem)}h2{font-size:clamp(1.75rem,3vw,3.15rem)}h3{font-size:clamp(1.05rem,1.35vw,1.24rem)}p{color:var(--muted);font-weight:400}.lead,.hero-lead{max-width:850px;margin-top:16px;color:var(--muted);font-size:clamp(.98rem,1.15vw,1.09rem)}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--cyan);font-size:.72rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 18px rgba(32,211,255,.6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 22px;border-radius:var(--corner);border:1px solid rgba(255,255,255,.10);background:linear-gradient(270deg,var(--blue),var(--cyan),var(--blue));background-size:220% 100%;background-position:0% 50%;color:#fff;box-shadow:0 16px 40px rgba(47,125,255,.26);font-weight:700;font-size:.9rem;cursor:pointer;transition:background-position .45s ease,box-shadow .25s ease,border-color .25s ease,transform .25s ease}.btn:hover{background-position:100% 50%;box-shadow:0 18px 46px rgba(32,211,255,.27);border-color:rgba(32,211,255,.46)}.btn:active{transform:translateY(1px)}.btn-small{min-height:42px;padding:10px 15px;font-size:.8rem}.btn-ghost{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border-color:var(--line);box-shadow:var(--soft)}.node-section{position:relative;overflow:hidden}.node-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.82;pointer-events:none}.hero{min-height:100vh;padding:136px 0 86px;display:flex;align-items:center}.hero-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(47,125,255,.09) 1px,transparent 1px),linear-gradient(180deg,rgba(47,125,255,.075) 1px,transparent 1px);background-size:86px 86px;opacity:.42;z-index:1}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(350px,.72fr);gap:64px;align-items:center}.hero-copy{max-width:820px}.hero-copy h1{max-width:920px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.hero-proof span{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:999px;color:#b7c8eb;font-weight:550;font-size:.82rem}.hero-card{position:relative;min-height:570px}.profile-frame{position:absolute;inset:0;overflow:hidden;border-radius:14px;clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,8% 100%,0 90%);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.025)),rgba(7,18,38,.62);border:1px solid rgba(120,174,255,.24);box-shadow:var(--shadow)}.profile-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(32,211,255,.04),rgba(2,8,23,.36) 74%);z-index:2;pointer-events:none}.profile-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.98) contrast(1.05)}.floating-card{position:absolute;z-index:4;min-width:190px;padding:14px 16px;border-radius:12px;border:1px solid rgba(120,174,255,.22);background:rgba(7,18,38,.75);backdrop-filter:blur(14px);box-shadow:var(--soft)}.floating-card span{display:block;color:var(--muted);font-size:.84rem;margin-bottom:3px;font-weight:400}.floating-card strong{display:block;color:#fff;line-height:1.2;font-weight:700}.card-a{left:-18px;bottom:78px}.card-b{right:-16px;top:74px}.proof-strip{position:relative;padding:22px 0;border-block:1px solid rgba(120,174,255,.14);background:rgba(255,255,255,.025)}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.strip-grid div{padding:14px 16px;border-left:1px solid rgba(32,211,255,.22)}.strip-grid strong{display:block;color:#fff;font-weight:700}.strip-grid span{display:block;color:var(--muted);font-size:.86rem;margin-top:2px}.section{position:relative;padding:108px 0}.section-tight{padding-top:98px}.section-head{max-width:820px;margin:0 auto 42px;text-align:center}.section-head.left{text-align:left;margin-inline:0}.section-head p{font-size:1rem;margin-top:14px}.bio-section{padding:86px 0 34px}.bio-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:center;padding:32px;border-radius:18px;border:1px solid rgba(120,174,255,.20);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026)),rgba(7,18,38,.60);box-shadow:var(--soft)}.bio-photo{height:300px;border-radius:14px;overflow:hidden;border:1px solid rgba(120,174,255,.22)}.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.bio-card p{margin-top:14px}.bio-actions{margin-top:24px}.portfolio-toolbar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px}.filter-btn{min-height:42px;padding:10px 15px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.045);color:#b7c8eb;cursor:pointer;font-weight:600;font-size:.84rem;transition:background .25s ease,color .25s ease,border-color .25s ease}.filter-btn:hover,.filter-btn.active{color:#fff;border-color:rgba(32,211,255,.44);background:rgba(32,211,255,.11)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{display:flex;flex-direction:column;height:100%;min-height:535px;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026)),rgba(7,18,38,.60);border:1px solid rgba(120,174,255,.22);box-shadow:var(--soft);backdrop-filter:blur(14px);transition:border-color .25s ease,box-shadow .25s ease,opacity .25s ease}.project-card:hover{border-color:rgba(32,211,255,.42);box-shadow:0 20px 60px rgba(32,211,255,.10)}.project-card.is-hidden{display:none}.project-image{position:relative;display:block;height:210px;overflow:hidden;background:linear-gradient(135deg,rgba(47,125,255,.35),rgba(32,211,255,.12));flex:0 0 210px}.project-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 40%,rgba(2,8,23,.85))}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-image span{position:absolute;left:14px;bottom:14px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(2,8,23,.72);border:1px solid rgba(120,174,255,.22);font-size:.76rem;color:#d8e6ff}.project-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:20px}.project-body h3{font-size:1.18rem;min-height:42px}.domain{color:#58e4ff;font-size:.84rem}.project-body p:not(.domain){font-size:.92rem}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.tags span{padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(120,174,255,.14);color:#b7c8eb;font-size:.72rem}.visit-project{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:12px;border-radius:10px;border:1px solid rgba(32,211,255,.28);background:linear-gradient(180deg,rgba(32,211,255,.13),rgba(47,125,255,.09));color:#fff;font-weight:700;transition:border-color .25s ease,background .25s ease}.visit-project:hover{border-color:rgba(32,211,255,.58);background:linear-gradient(180deg,rgba(32,211,255,.19),rgba(47,125,255,.14))}.center-actions,.problem-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}.problem-section{background:radial-gradient(circle at 80% 20%,rgba(32,211,255,.10),transparent 26rem)}.problem-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr);gap:56px;align-items:center}.problem-card{display:grid;gap:12px;padding:26px;border-radius:18px;border:1px solid rgba(120,174,255,.20);background:rgba(7,18,38,.60);box-shadow:var(--soft)}.check-item{display:flex;align-items:flex-start;gap:11px;padding:13px;border-radius:12px;background:rgba(255,255,255,.045);color:#d8e6ff;font-weight:400}.check-item span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(74,222,128,.12);color:#4ade80;flex:0 0 auto}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card,.process-card{padding:24px;border-radius:16px;border:1px solid rgba(120,174,255,.20);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026)),rgba(7,18,38,.58);box-shadow:var(--soft);transition:border-color .25s ease,transform .25s ease}.service-card:hover,.process-card:hover{border-color:rgba(32,211,255,.40)}.service-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;border-radius:12px;background:linear-gradient(135deg,rgba(32,211,255,.22),rgba(47,125,255,.13));border:1px solid rgba(32,211,255,.24);font-weight:700;color:#fff}.service-card p,.process-card p{margin-top:12px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-card span{display:inline-block;margin-bottom:18px;color:#58e4ff;font-weight:700}.testimonials-section{overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(124,92,255,.10),transparent 28rem)}.testimonial-marquee{overflow:hidden;margin-top:22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.testimonial-track{display:flex;gap:18px;width:max-content;animation:testimonialScroll 72s linear infinite}.testimonial-marquee:hover .testimonial-track{animation-play-state:paused}@keyframes testimonialScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.testimonial-card{width:360px;min-height:318px;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:16px;border:1px solid rgba(120,174,255,.20);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026)),rgba(7,18,38,.64);box-shadow:var(--soft)}.testimonial-top{display:flex;align-items:center;gap:12px}.testimonial-top img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid rgba(120,174,255,.28)}.testimonial-top strong{display:block;color:#fff;font-weight:700}.testimonial-top small{display:block;color:var(--muted);font-size:.82rem}.stars{color:#fbbf24;letter-spacing:.08em}.platform-badge{display:inline-flex;align-self:flex-start;margin-top:auto;padding:6px 9px;border-radius:999px;border:1px solid rgba(32,211,255,.22);background:rgba(32,211,255,.08);color:#bff2ff;font-size:.76rem}.audit-section{background:radial-gradient(circle at 12% 8%,rgba(47,125,255,.12),transparent 25rem)}.audit-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,.7fr);gap:50px;align-items:start}.audit-points{display:grid;gap:12px;margin-top:28px}.audit-points div{padding:16px;border-radius:14px;border:1px solid rgba(120,174,255,.17);background:rgba(255,255,255,.045)}.audit-points span{display:block;color:#fff;font-weight:400}.audit-points small{display:block;margin-top:4px;color:var(--muted);font-size:.86rem}.contact-form{padding:26px;border-radius:18px;border:1px solid rgba(120,174,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026)),rgba(7,18,38,.68);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:grid;gap:7px;margin-bottom:14px;color:#d8e6ff;font-weight:400}input,select,textarea{width:100%;border:1px solid rgba(120,174,255,.20);border-radius:10px;background:rgba(2,8,23,.58);color:#fff;padding:12px 13px;outline:none;font-weight:400}input:focus,select:focus,textarea:focus{border-color:rgba(32,211,255,.55);box-shadow:0 0 0 3px rgba(32,211,255,.08)}textarea{resize:vertical}.honeypot{position:absolute;left:-10000px}.submit-btn{width:100%;margin-top:4px}.form-note{margin-top:12px;font-size:.86rem}.form-alert{padding:12px 14px;margin-bottom:14px;border-radius:10px}.form-alert.success{background:rgba(74,222,128,.10);color:#bbf7d0;border:1px solid rgba(74,222,128,.25)}.form-alert.error{background:rgba(251,113,133,.10);color:#fecdd3;border:1px solid rgba(251,113,133,.32)}.final-cta{position:relative;padding:104px 0;border-top:1px solid rgba(120,174,255,.14);border-bottom:1px solid rgba(120,174,255,.14);background:radial-gradient(circle at 10% 10%,rgba(32,211,255,.16),transparent 26rem),linear-gradient(180deg,rgba(255,255,255,.045),rgba(2,8,23,.42))}.final-card{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;padding:0}.final-card img{width:112px;height:82px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(32,211,255,.28))}.final-card .eyebrow{margin-bottom:10px}.final-card p{margin-top:10px}.final-actions{display:grid;gap:10px;min-width:190px}.site-footer{padding:54px 0 24px;background:rgba(2,8,23,.76)}.footer-cta{display:grid;place-items:center;text-align:center;gap:18px;max-width:880px}.footer-logo{width:230px;height:70px;object-fit:contain;object-position:center}.footer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:4px}.footer-bottom{display:flex;justify-content:center;margin-top:36px;padding-top:20px;border-top:1px solid rgba(120,174,255,.12);color:var(--muted);font-size:.86rem}.upwork-popup{position:fixed;right:22px;bottom:22px;width:min(390px,calc(100vw - 32px));z-index:10000;padding:22px;border-radius:18px;border:1px solid rgba(32,211,255,.30);background:radial-gradient(circle at 10% 0%,rgba(32,211,255,.18),transparent 16rem),rgba(7,18,38,.94);box-shadow:0 24px 80px rgba(0,0,0,.48);backdrop-filter:blur(18px);transform:translateY(20px) scale(.96);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease,transform .28s ease}.upwork-popup.show{opacity:1;visibility:visible;transform:none}.popup-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:1px solid rgba(120,174,255,.18);border-radius:50%;background:rgba(255,255,255,.06);cursor:pointer;font-size:1.25rem}.popup-kicker{display:inline-flex;margin-bottom:10px;color:var(--cyan);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.upwork-popup h3{font-size:1.45rem}.upwork-popup p{margin:10px 0 16px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1180px){.hero-layout,.problem-layout,.audit-layout{grid-template-columns:1fr;gap:42px}.hero-card{min-height:560px;max-width:560px;margin:auto;width:100%}.portfolio-grid,.services-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.strip-grid{grid-template-columns:repeat(2,1fr)}.final-card{grid-template-columns:1fr;text-align:left}.final-actions{display:flex;flex-wrap:wrap}.brand img{width:185px}}@media(max-width:860px){html{scroll-padding-top:78px}.container{width:min(100% - 30px,var(--container))}.site-header{height:76px}.brand img{width:142px;height:48px}.header-actions .btn-small{display:inline-flex;min-height:40px;padding:9px 12px;font-size:.74rem}.hero{min-height:auto;padding:116px 0 62px}.hero-layout{display:block}.hero-card{display:none}.hero-proof span{width:100%;justify-content:center}.bio-card{grid-template-columns:1fr;padding:22px}.bio-photo{height:280px}.portfolio-grid,.services-grid,.process-grid,.strip-grid,.footer-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.project-card{min-height:520px}.project-image{height:220px;flex-basis:220px}.section{padding:76px 0}.section-head{text-align:left;margin-inline:0}.portfolio-toolbar{justify-content:flex-start}.final-card{padding:0}.final-actions{display:grid}.card-a,.card-b{display:none}.testimonial-card{width:318px}.testimonial-track{animation-duration:88s}.footer-bottom{text-align:center}.upwork-popup{right:16px;bottom:16px}}@media(max-width:520px){h1{font-size:2.12rem}.hero-actions,.center-actions,.problem-actions,.footer-actions{display:grid}.btn{width:100%}.project-card{min-height:545px}.project-image{height:190px;flex-basis:190px}.contact-form{padding:20px}.proof-strip{padding:14px 0}.strip-grid div{padding:12px}.footer-logo{width:180px}.site-loader{display:none}.upwork-popup .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}.node-canvas{display:none}}

/* === V2.1 requested refinements === */
.portfolio-hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:124px 0 90px;
  border-bottom:1px solid rgba(120,174,255,.14);
  background:radial-gradient(circle at 12% 18%,rgba(32,211,255,.18),transparent 28rem),radial-gradient(circle at 88% 18%,rgba(47,125,255,.18),transparent 30rem),linear-gradient(180deg,rgba(255,255,255,.035),rgba(2,8,23,.55));
}
.portfolio-hero-inner{position:relative;z-index:2;max-width:960px;text-align:left;}
.portfolio-hero-inner h1{max-width:920px;}
.portfolio-hero-actions{margin-top:26px;}
.home-project-grid .project-card:nth-child(n+7){display:none!important;}
.swipe-hint{display:none;margin-top:14px;color:#58e4ff;font-size:.88rem;}
.portfolio-page .portfolio-grid{margin-top:26px;}
.portfolio-page .project-card,.home-project-grid .project-card{height:100%;}
.portfolio-page .project-body,.home-project-grid .project-body{min-height:300px;}
.project-card.is-hidden{display:none!important;}

@media(max-width:860px){
  .portfolio-hero{min-height:auto;padding:118px 0 72px;}
  .portfolio-hero-inner{text-align:left;}
  .swipe-hint{display:inline-flex;align-items:center;gap:6px;}
  body.portfolio-page .portfolio-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:4px 15px 18px;
    margin-left:-15px;
    margin-right:-15px;
  }
  body.portfolio-page .portfolio-grid::-webkit-scrollbar{height:6px;}
  body.portfolio-page .portfolio-grid::-webkit-scrollbar-thumb{background:rgba(32,211,255,.38);border-radius:999px;}
  body.portfolio-page .portfolio-grid .project-card{
    flex:0 0 min(82vw,360px);
    min-width:min(82vw,360px);
    scroll-snap-align:start;
  }
  body.portfolio-page .portfolio-grid .project-card.is-hidden{display:none!important;}
  body.portfolio-page .project-image{height:210px;flex-basis:210px;}
  body.portfolio-page .portfolio-toolbar{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
  body.portfolio-page .filter-btn{white-space:nowrap;}
}

@media(max-width:520px){
  body.portfolio-page .portfolio-grid .project-card{flex-basis:86vw;min-width:86vw;}
  body.portfolio-page .project-image{height:190px;flex-basis:190px;}
}

/* Mobile swipe slider for the projects page */
.portfolio-swipe-wrap{position:relative;}
.mobile-swipe-controls{display:none;}
@media(max-width:860px){
  body.portfolio-page .portfolio-swipe-wrap{margin-top:22px;}
  body.portfolio-page .portfolio-swipe-wrap:before,
  body.portfolio-page .portfolio-swipe-wrap:after{
    content:"";
    position:absolute;
    top:0;
    bottom:64px;
    width:28px;
    z-index:3;
    pointer-events:none;
  }
  body.portfolio-page .portfolio-swipe-wrap:before{left:-15px;background:linear-gradient(90deg,#020817,rgba(2,8,23,0));}
  body.portfolio-page .portfolio-swipe-wrap:after{right:-15px;background:linear-gradient(270deg,#020817,rgba(2,8,23,0));}
  body.portfolio-page .portfolio-grid{
    display:flex!important;
    align-items:stretch!important;
    gap:16px!important;
    width:calc(100% + 30px)!important;
    margin:24px -15px 0!important;
    padding:4px 15px 22px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:15px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
  }
  body.portfolio-page .portfolio-grid::-webkit-scrollbar{display:none!important;}
  body.portfolio-page .portfolio-grid .project-card{
    flex:0 0 min(86vw,380px)!important;
    width:min(86vw,380px)!important;
    min-width:min(86vw,380px)!important;
    max-width:min(86vw,380px)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    transform:translateZ(0);
  }
  body.portfolio-page .portfolio-grid .project-card.is-hidden{display:none!important;}
  body.portfolio-page .mobile-swipe-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:4px auto 0;
  }
  body.portfolio-page .swipe-arrow{
    display:inline-grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(32,211,255,.32);
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(32,211,255,.10));
    color:#f7fbff;
    font-size:1.7rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
  }
  body.portfolio-page .swipe-counter{
    min-width:76px;
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:999px;
    border:1px solid rgba(120,174,255,.18);
    background:rgba(255,255,255,.06);
    color:#d8e6ff;
    font-size:.86rem;
  }
  body.portfolio-page .swipe-hint{
    display:inline-flex!important;
    align-items:center;
    gap:6px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(32,211,255,.08);
    border:1px solid rgba(32,211,255,.16);
  }
}
@media(max-width:520px){
  body.portfolio-page .portfolio-grid .project-card{
    flex-basis:88vw!important;
    width:88vw!important;
    min-width:88vw!important;
    max-width:88vw!important;
  }
}

/* Submission thank-you popup */
.submit-thanks-modal{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px;background:rgba(2,8,23,.70);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}.submit-thanks-modal.show{opacity:1;visibility:visible}.submit-thanks-card{position:relative;width:min(520px,100%);padding:30px;border-radius:20px;border:1px solid rgba(32,211,255,.32);background:radial-gradient(circle at 12% 0%,rgba(32,211,255,.20),transparent 18rem),linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.035)),rgba(7,18,38,.96);box-shadow:0 28px 90px rgba(0,0,0,.56);transform:translateY(14px) scale(.97);transition:transform .28s ease}.submit-thanks-modal.show .submit-thanks-card{transform:none}.submit-thanks-card h3{font-size:clamp(1.45rem,4vw,2rem);margin-bottom:10px}.submit-thanks-card p{margin:0 0 18px;color:var(--muted)}.submit-thanks-actions{display:flex;flex-wrap:wrap;gap:10px}.submit-thanks-actions .btn{min-width:170px}@media(max-width:520px){.submit-thanks-card{padding:24px 18px}.submit-thanks-actions{display:grid}.submit-thanks-actions .btn{width:100%;min-width:0}}

/* === V2.5 home mobile swipe slider === */
.home-swipe-hint{display:none;}
@media(max-width:860px){
  body.home-page .home-swipe-hint{
    display:inline-flex!important;
    align-items:center;
    gap:6px;
    margin:4px 0 12px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(32,211,255,.08);
    border:1px solid rgba(32,211,255,.16);
    color:#58e4ff;
    font-size:.88rem;
  }
  body.home-page .home-swipe-wrap{position:relative;margin-top:18px;}
  body.home-page .home-swipe-wrap:before,
  body.home-page .home-swipe-wrap:after{
    content:"";
    position:absolute;
    top:0;
    bottom:64px;
    width:28px;
    z-index:3;
    pointer-events:none;
  }
  body.home-page .home-swipe-wrap:before{left:-15px;background:linear-gradient(90deg,#020817,rgba(2,8,23,0));}
  body.home-page .home-swipe-wrap:after{right:-15px;background:linear-gradient(270deg,#020817,rgba(2,8,23,0));}
  body.home-page .home-project-grid{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:stretch!important;
    gap:16px!important;
    width:calc(100% + 30px)!important;
    margin:0 -15px!important;
    padding:4px 15px 22px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:15px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
  }
  body.home-page .home-project-grid::-webkit-scrollbar{display:none!important;}
  body.home-page .home-project-grid .project-card{
    flex:0 0 min(86vw,380px)!important;
    width:min(86vw,380px)!important;
    min-width:min(86vw,380px)!important;
    max-width:min(86vw,380px)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    transform:translateZ(0);
  }
  body.home-page .home-project-grid .project-card.is-hidden{display:none!important;}
  body.home-page .home-project-grid .project-image{height:210px;flex-basis:210px;}
  body.home-page .mobile-swipe-controls{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:4px auto 22px;
  }
  body.home-page .swipe-arrow{
    display:inline-grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(32,211,255,.32);
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(32,211,255,.10));
    color:#f7fbff;
    font-size:1.7rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
  }
  body.home-page .swipe-counter{
    min-width:76px;
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:999px;
    border:1px solid rgba(120,174,255,.18);
    background:rgba(255,255,255,.06);
    color:#d8e6ff;
    font-size:.86rem;
  }
}
@media(max-width:520px){
  body.home-page .home-project-grid .project-card{
    flex-basis:88vw!important;
    width:88vw!important;
    min-width:88vw!important;
    max-width:88vw!important;
  }
  body.home-page .home-project-grid .project-image{height:190px;flex-basis:190px;}
}
