/* Shared public portfolio. Artwork stays intact; frames belong to the interface. */
.pf-root{--pf-muted:#a1a7b5;--pf-line:rgba(181,197,226,.16);color:#f5f6fa;font-family:'Manrope',system-ui,sans-serif}.pf-root button{font:inherit;color:inherit;cursor:pointer}.pf-root button:disabled{opacity:.25;cursor:default}.pf-root a:focus-visible,.pf-root button:focus-visible{outline:2px solid #82b7ff;outline-offset:5px}.pf-root img{display:block;max-width:100%;object-fit:contain}.pf-root a{text-decoration:none}.pf-root button{touch-action:manipulation}.pf-root h1,.pf-root h2,.pf-root h3{margin:0}.pf-root p{margin:0}.pf-kicker{display:flex;align-items:center;gap:10px;color:#9facbf;font:10px 'Space Mono',monospace;letter-spacing:.15em;text-transform:uppercase}.pf-kicker i{width:6px;height:6px;background:#6b9bff;border-radius:50%;box-shadow:0 0 15px #3984ff}.pf-gallery,.pf-detail{max-width:1440px;margin:auto;padding:0 clamp(20px,5vw,76px)}.pf-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:780px;min-height:min(850px,100svh);gap:32px;padding:150px 0 75px}.pf-hero h1{font-size:clamp(64px,7.2vw,104px);letter-spacing:-.075em;line-height:.98;font-weight:500;margin:29px 0}.pf-hero h1 em{font-style:normal;color:#90b9ff}.pf-hero-copy>p{color:var(--pf-muted);font-size:17px;line-height:1.8}.pf-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;padding:17px 24px;border:1px solid #6a8ecb66;border-radius:40px;background:linear-gradient(115deg,#3672ce2b,#19232d44);font-size:13px;transition:background .2s,transform .2s}.pf-pill:hover{background:#2b4d7a88;transform:translateY(-2px)}.pf-hero .pf-pill{margin-top:32px}.pf-hero-foot{display:flex;gap:24px;color:#7f899b;font:10px 'Space Mono',monospace;margin-top:60px}.pf-hero-foot span+span{border-left:1px solid var(--pf-line);padding-left:24px}.pf-showcase{position:relative;height:530px;isolation:isolate}.pf-showcase::before{content:'';position:absolute;inset:-50px 0;background:radial-gradient(ellipse,#2051a52b,transparent 65%);z-index:-1}.pf-showcase-item{position:absolute;padding:6px;border-radius:19px;background:linear-gradient(145deg,#263341,#0c1119 55%);border:1px solid #8aa5c646;box-shadow:0 24px 80px #0006,0 0 55px #3673b817;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.pf-showcase-item img{width:100%;height:auto;border-radius:12px}.pf-showcase-top,.pf-showcase-bottom{display:flex;align-items:center;justify-content:space-between;padding:9px 9px 12px;font-size:10px;color:#dbe5f7}.pf-showcase-bottom{padding:12px 9px 8px;color:#9aa8bf;font-size:9px}.pf-showcase-0{width:61%;left:17%;top:0;z-index:2;transform:rotate(-5deg)}.pf-showcase-1{width:47%;right:-2%;top:130px;z-index:3;transform:rotate(8deg)}.pf-showcase-2{width:40%;left:-4%;top:235px;z-index:4;transform:rotate(-9deg)}.pf-showcase-item:hover{transform:rotate(0deg) translateY(-12px);z-index:5}.pf-showcase-note{position:absolute;right:12px;bottom:-20px;color:#718099;font:9px 'Space Mono',monospace}.pf-collection{padding:75px 0 0;border-top:1px solid var(--pf-line);scroll-margin-top:110px}.pf-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.pf-heading h2{font-size:clamp(30px,3vw,43px);font-weight:500;letter-spacing:-.045em;line-height:1.15}.pf-heading .pf-kicker{margin-bottom:18px}.pf-heading h2 span{color:#8c94a3}.pf-result-count,.pf-text-link{font-size:12px;color:#adb8cb}.pf-text-link{white-space:nowrap;border-bottom:1px solid #44536b;padding-bottom:7px}.pf-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}.pf-filters button{border:1px solid var(--pf-line);border-radius:30px;background:transparent;padding:11px 19px;font-size:12px;color:#aeb7c6}.pf-filters button[aria-pressed=true]{background:#e5ebf4;color:#141922;border-color:#e5ebf4}.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px}.pf-card{min-width:0;display:block}.pf-frame{position:relative;padding:7px;border:1px solid #a6bad333;border-radius:23px;background:linear-gradient(145deg,#bccfe51a,#18202b33 50%,#7896c21a);box-shadow:inset 0 1px #dceaff14,0 12px 38px #0002;transition:transform .35s,border-color .35s,box-shadow .35s}.pf-frame>img{width:100%;height:auto;aspect-ratio:4/5;border-radius:16px}.pf-card:hover .pf-frame{transform:translateY(-6px);border-color:#82b5ff80;box-shadow:0 0 50px #2774e51c}.pf-card-count{position:absolute;right:20px;top:20px;display:flex;align-items:center;gap:6px;background:#0c111cbf;backdrop-filter:blur(10px);padding:7px 9px;border:1px solid #ffffff21;border-radius:9px;font:10px 'Space Mono',monospace}.pf-open{position:absolute;inset:auto 18px 18px;display:flex;justify-content:space-between;background:#111c2be8;backdrop-filter:blur(12px);border:1px solid #c1d9ff38;border-radius:10px;padding:13px;font-size:11px;opacity:0;transform:translateY(5px);transition:.25s}.pf-card:hover .pf-open,.pf-card:focus-visible .pf-open{opacity:1;transform:none}.pf-card-info{display:flex;align-items:flex-start;gap:12px;padding:20px 4px 0}.pf-index{color:#667487;font:9px 'Space Mono',monospace;padding-top:5px}.pf-card-info h3{font-weight:500;font-size:17px;letter-spacing:-.03em}.pf-card-info p{font-size:11px;line-height:1.6;color:#8f9aab;margin-top:6px}.pf-card-arrow{margin-left:auto;color:#8291a5}.pf-services{margin-top:70px;padding:35px 0;border-block:1px solid var(--pf-line)}.pf-service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:20px}.pf-service-links a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:20px 0}.pf-service-links a span:first-child{font-size:19px}.pf-service-links a span+span{font-size:10px;color:#9aa7bc}.pf-outro{padding:110px 0 120px;text-align:center}.pf-outro .pf-kicker{justify-content:center}.pf-outro h2{font-size:clamp(38px,5vw,70px);line-height:1.08;letter-spacing:-.055em;font-weight:500;margin:25px 0 32px}.pf-peek{max-width:1280px;margin:auto;padding:85px var(--pad-x,40px);border-top:1px solid var(--pf-line)}.pf-peek-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.pf-hint{color:#7d899b;font:10px 'Space Mono',monospace;margin-top:25px!important}.pf-detail{padding-top:120px}.pf-detail-nav{display:flex;justify-content:space-between;gap:20px;color:#a4b0c3;font-size:11px;margin-bottom:25px}.pf-detail-nav>span{color:#6f7c91}.pf-post{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);max-width:1160px;margin:auto;border:1px solid #9fb9dd30;background:#10151d;border-radius:22px;overflow:hidden;box-shadow:0 0 85px #1c4d8e12}.pf-visual{min-width:0;background:#0a1019;padding:10px;display:flex;flex-direction:column;justify-content:center}.pf-stage{position:relative;max-width:100%;margin:auto;touch-action:pan-y pinch-zoom}.pf-slide{width:auto;max-height:calc(100svh - 220px);height:auto;aspect-ratio:4/5;border-radius:13px}.pf-counter{position:absolute;right:15px;top:15px;border:1px solid #ffffff2e;background:#101722cc;backdrop-filter:blur(8px);padding:6px 10px;border-radius:20px;font:10px 'Space Mono',monospace}.pf-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ffffff40;background:#152033cf;backdrop-filter:blur(12px);border-radius:50%;width:38px;height:38px;font-size:28px!important;line-height:1;display:grid;place-items:center}.pf-prev{left:12px}.pf-next{right:12px}.pf-expand{position:absolute;bottom:12px;right:12px;width:36px;height:36px;border:1px solid #ffffff40;background:#152033cf;border-radius:9px;font-size:22px!important}.pf-slide-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 8px 6px;min-height:43px}.pf-dots{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.pf-dots button{display:grid;place-items:center;width:22px;height:24px;border:0;background:transparent}.pf-dots button::after{content:'';width:5px;height:5px;background:#4d586b;border-radius:50%}.pf-dots button[aria-current=true]::after{background:#6ba6ff;width:16px;border-radius:5px}.pf-slide-title{font-size:9px;color:#8391a6;text-align:right}.pf-story{display:flex;flex-direction:column;min-width:0}.pf-author{display:flex;align-items:center;gap:11px;padding:20px 24px;border-bottom:1px solid var(--pf-line)}.pf-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #80adff66;border-radius:50%;background:#192a42;font-size:18px;letter-spacing:-.08em}.pf-avatar span{font-size:14px;color:#86b6ff}.pf-author b{display:block;font-size:12px;font-weight:500}.pf-author div>span{display:block;font-size:9px;color:#8996aa;margin-top:2px}.pf-author-mark{margin-left:auto;color:#82adf2}.pf-story-body{padding:28px 28px 20px;max-height:calc(100svh - 370px);min-height:250px;overflow:auto;scrollbar-width:thin;scrollbar-color:#3b4b63 transparent}.pf-story h1{font-size:clamp(27px,2.6vw,39px);line-height:1.1;letter-spacing:-.05em;font-weight:500;margin:13px 0}.pf-subtitle{color:#8d9bb0;font-size:11px;line-height:1.6}.pf-caption{margin-top:26px;font-size:12px;line-height:1.85;color:#c1c9d6;overflow-wrap:anywhere}.pf-caption p+p{margin-top:17px}.pf-project-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.pf-project-links a{font-size:10px;color:#8bb8ff;border-bottom:1px solid #36567e;padding-bottom:4px}.pf-story-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:20px 24px;border-top:1px solid var(--pf-line);font-size:11px}.pf-share{background:none;border:0;color:#a5b6d0!important;font-size:11px!important}.pf-story-footer>a{color:#9ec3ff}.pf-share-status:not(:empty){width:100%;font-size:10px;color:#8bb8ff}.pf-related{padding:85px 0 100px;max-width:1160px;margin:auto}.pf-related .pf-frame{max-width:100%}.pf-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:55px 65px;background:#06090ff5;border:0;color:white;overscroll-behavior:contain}.pf-lightbox::backdrop{background:#06090f}.pf-lightbox[open]{display:flex;align-items:center;justify-content:center}.pf-lightbox img{height:100%;width:auto;max-width:100%;object-fit:contain}.pf-lightbox button{position:absolute;background:#1c2738;border:1px solid #ffffff33;border-radius:30px;padding:10px 18px;color:white;font:13px 'Manrope',sans-serif;cursor:pointer}.pf-lightbox-close{right:20px;top:16px}.pf-lightbox-prev{left:12px;top:50%;font-size:25px!important}.pf-lightbox-next{right:12px;top:50%;font-size:25px!important}.pf-lightbox-count{position:absolute;bottom:16px;left:20px;right:20px;text-align:center;font-size:11px;color:#adbbd0}.pf-loading,.pf-missing{padding:160px 25px;text-align:center}.pf-missing h1{margin-bottom:25px}.nav-links .nav-projects{color:#a9caff}.nav-links .nav-projects[aria-current=page]{color:white;border-bottom:1px solid #76a8ff;padding-bottom:5px}
@media(min-width:1500px){.pf-showcase{height:580px}.pf-hero{min-height:850px}}
@media(max-width:1000px){.pf-hero{min-height:740px}.pf-hero h1{font-size:72px}.pf-showcase{height:440px}.pf-showcase-2{top:220px}.pf-showcase-note{bottom:-4px}.pf-grid{gap:34px 18px}.pf-post{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.pf-story-body{padding:22px}.pf-hero-foot{gap:12px}.pf-service-links a{align-items:flex-start;flex-direction:column}.pf-nav-links{gap:16px}}
@media(max-width:860px){.nav-links a.nav-projects{display:inline-flex!important}.nav-links{gap:14px}.nav-links .nav-projects{font-size:10px}.nav .nav-cta{padding:10px 15px;font-size:11px}.pf-hero{padding-top:130px;min-height:650px}.pf-hero h1{font-size:64px}.pf-showcase{height:390px}.pf-showcase-1{top:95px}.pf-showcase-2{top:190px}.pf-showcase-note{bottom:5px}.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-post{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)}.pf-author{padding:16px}.pf-story-body{padding:20px}.pf-story-footer{padding:18px}.pf-slide-title{display:none}}
@media(max-width:620px){.pf-gallery,.pf-detail{padding-inline:20px}.pf-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:120px;gap:45px;padding-bottom:60px}.pf-hero h1{font-size:66px;margin:24px 0}.pf-hero-copy>p{font-size:14px}.pf-hero-foot{margin-top:27px;font-size:9px}.pf-showcase{width:100%;max-width:420px;align-self:center;height:450px}.pf-showcase-0{left:15%;width:60%}.pf-showcase-1{right:0;width:46%;top:100px}.pf-showcase-2{left:0;width:39%;top:190px}.pf-showcase-note{bottom:0;font-size:8px}.pf-collection{padding-top:45px}.pf-heading{align-items:flex-start;gap:18px;margin-bottom:26px}.pf-heading h2{font-size:29px}.pf-heading .pf-kicker{font-size:8px}.pf-result-count{font-size:10px;white-space:nowrap;padding-top:34px}.pf-filters{gap:7px;margin-bottom:25px}.pf-filters button{font-size:10px;padding:10px 13px}.pf-grid{gap:26px 13px}.pf-frame{padding:4px;border-radius:15px}.pf-frame>img{border-radius:10px}.pf-card-count{right:11px;top:11px;padding:5px 6px;font-size:8px;gap:3px}.pf-card-count svg{width:12px;height:12px}.pf-card-info{gap:6px;padding:12px 1px 0}.pf-index{display:none}.pf-card-info h3{font-size:13px}.pf-card-info p{font-size:9px;margin-top:4px}.pf-card-arrow{font-size:12px}.pf-open{display:none}.pf-services{margin-top:40px}.pf-service-links{grid-template-columns:1fr;gap:0}.pf-service-links a{flex-direction:row;align-items:center;padding:18px 0;border-bottom:1px solid #ffffff10}.pf-outro{padding:70px 0 80px}.pf-peek{padding:55px 20px;overflow:hidden}.pf-peek .pf-heading,.pf-related .pf-heading{flex-wrap:wrap}.pf-text-link{font-size:10px}.pf-peek-track{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding:10px 0 20px;scrollbar-width:thin;scrollbar-color:#405370 transparent}.pf-peek-track .pf-card{flex:0 0 76%;scroll-snap-align:start}.pf-peek-track .pf-card h3{font-size:17px}.pf-peek-track .pf-card p{font-size:11px}.pf-hint{font-size:9px;line-height:1.7;margin-top:10px!important}.pf-detail{padding-top:106px}.pf-detail-nav{font-size:10px;margin-bottom:18px}.pf-detail-nav>span{display:none}.pf-post{display:flex;flex-direction:column;border-radius:18px}.pf-visual{padding:6px}.pf-stage{width:100%}.pf-slide{max-height:none;width:100%;border-radius:12px}.pf-slide-tools{justify-content:center;padding:8px 5px}.pf-story-body{max-height:none;min-height:0;padding:24px}.pf-author{padding:18px 24px}.pf-story h1{font-size:32px}.pf-caption{font-size:13px}.pf-story-footer{padding:22px 24px}.pf-related{padding:60px 0}.pf-lightbox{padding:60px 0}.pf-lightbox-prev,.pf-lightbox-next{top:auto;bottom:16px;z-index:1}.pf-lightbox-count{bottom:29px;left:65px;right:65px;font-size:9px}.pf-root button.pf-arrow{width:34px;height:34px}.pf-lightbox-close{right:14px}.nav-brand .brand-logo{width:135px}.nav-links .nav-cta{font-size:10px;padding:9px 10px}.nav-links{gap:12px}}
@media(max-width:380px){.pf-showcase{height:385px}.pf-hero h1{font-size:60px}.nav-brand .brand-logo{width:116px}.nav-links{gap:9px}}
@media(prefers-reduced-motion:reduce){.pf-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:620px){.pf-showcase::before{inset:-20px 0}}
/* Keep the existing mobile CTA fixed after the glass layer adds positioning. */
@media(max-width:760px){.mobile-conversion{position:fixed}}
/* Glow may bleed around cards, but never beyond the mobile viewport. */
@media(max-width:760px){.section:has(.border-glow-card){overflow-x:clip}}

/* Projects opens directly on the cards, below the shared navigation. */
.pf-gallery > .pf-collection{padding:120px 0 80px;border-top:0}
@media(max-width:620px){.pf-gallery > .pf-collection{padding:100px 0 55px}}

/* Instagram profile and optically centered, consistent SVG controls. */
.pf-profile{display:flex;align-items:center;gap:12px;width:100%;min-width:0}
.pf-profile b{font-size:13px;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.pf-author .pf-avatar{width:40px;height:40px;flex:0 0 40px;padding:0;overflow:hidden;border:1px solid #dce5f72b;background:#10141a}
.pf-root .pf-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pf-profile-icon{margin-left:auto;display:grid;place-items:center;width:32px;height:32px;color:#a3aec0}
.pf-profile:hover .pf-profile-icon{color:#e5ecf8}
.pf-slide-tools{justify-content:center;padding:14px 8px 6px;min-height:44px}
.pf-dots{justify-content:center;gap:0;margin-inline:auto}
.pf-dots button{width:24px;height:26px;padding:0;display:grid;place-items:center}
.pf-dots button::after{width:6px;height:6px;background:#566174;transition:background .18s}
.pf-dots button[aria-current=true]::after{width:6px;height:6px;border-radius:50%;background:#74aaff}
.pf-root .pf-arrow,.pf-root .pf-expand,.pf-lightbox .pf-lightbox-prev,.pf-lightbox .pf-lightbox-next,.pf-lightbox .pf-lightbox-close{display:grid;place-items:center;padding:0;line-height:1}
.pf-arrow svg{width:18px;height:18px;display:block}
.pf-expand svg{width:18px;height:18px;display:block}
.pf-lightbox .pf-lightbox-prev,.pf-lightbox .pf-lightbox-next,.pf-lightbox .pf-lightbox-close{width:40px;height:40px}
.pf-root .pf-story-footer .pf-share,.pf-story-footer>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.3;min-height:32px}
.pf-story-footer svg{width:16px;height:16px;flex:none;display:block}
.pf-card-arrow{display:grid;place-items:center;width:22px;height:22px;flex:none}
.pf-card-arrow svg{width:17px;height:17px;display:block}
@media(max-width:620px){.pf-slide-tools{padding:9px 5px;min-height:44px}.pf-profile b{font-size:13px}}

@media(min-width:621px){.pf-peek-track[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;margin-inline:auto}}

/* Contain decorative glows on form and confirmation pages. */
.section[data-load-anim],.ty{overflow-x:clip}

/* Service filters stay visible and wrap into comfortable touch targets. */
.pf-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:18px 24px;flex-wrap:wrap;margin-bottom:32px}
.pf-filter-bar .pf-filters{gap:8px;margin:0}
.pf-filter-bar .pf-filters button{min-height:44px;padding:11px 19px;border-radius:999px;font-size:12px;line-height:1.4;transition:background .18s,border-color .18s,color .18s}
.pf-filter-bar .pf-filters button:hover{border-color:#82b5ff80;background:#82b5ff14}
.pf-filter-bar .pf-filters button[aria-pressed=true]{background:#e5ebf4;color:#141922;border-color:#e5ebf4}
.pf-filter-bar .pf-result-count{padding:0;font-size:12px;white-space:nowrap}
.pf-empty{grid-column:1/-1;padding:48px 0;color:var(--pf-muted)}
@media(max-width:620px){.pf-filter-bar{gap:16px;margin-bottom:24px}.pf-filter-bar .pf-filters{gap:8px}.pf-filter-bar .pf-filters button{padding-inline:15px}}

/* Projects tab: aligned with the header and attached to its right edge. */
body .nav:has(.nav-projects) { padding-right: 0; }
.nav .nav-links a.nav-projects {
  position: static;
  order: 1;
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  padding: 12px max(18px, env(safe-area-inset-right)) 12px 20px;
  border: 1px solid rgba(146, 182, 240, .34);
  border-right: 0;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(115deg, rgba(25, 40, 63, .97), rgba(18, 27, 42, .94));
  box-shadow: -4px 6px 22px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .06);
  color: #dce9ff;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  touch-action: manipulation;
  transition: background .2s, border-color .2s, color .2s;
}
.nav .nav-links a.nav-projects::after {
  content: '';
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2391baff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nav .nav-links a.nav-projects:hover,
.nav .nav-links a.nav-projects[aria-current='page'] {
  background: linear-gradient(115deg, #213c60, #182a43);
  border-color: rgba(146, 182, 240, .65);
  color: #fff;
}
.nav .nav-links a.nav-projects:focus-visible {
  outline: 2px solid #a9caff;
  outline-offset: 3px;
}
