/* Signature experience: progressive enhancements for every route. */
:root{--hb-cinema-ease:cubic-bezier(.22,.78,.21,1);--hb-cinema-blue:#87bfff;--hb-cinema-violet:#a996ff}
:root[data-theme=light]{--hb-cinema-blue:#0069bf;--hb-cinema-violet:#5d4ca7}
.site-header .header-actions{gap:9px}
.command-launch{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:38px;padding:7px 13px;border:1px solid var(--line-strong);border-radius:100px;color:var(--muted);background:var(--surface);font:600 .75rem/1.4 inherit;font-family:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.command-launch:hover{background:var(--surface-2);color:var(--text);border-color:var(--accent)}
.command-launch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.command-launch kbd{padding:4px 7px;border:1px solid var(--line);border-radius:7px;font:500 .68rem/1.3 ui-monospace,Consolas,monospace;color:var(--dim)}
.skip-to-content{position:fixed;z-index:201;top:-90px;left:14px;padding:13px 17px;border-radius:14px;background:var(--text);color:var(--bg);font-weight:700}
.skip-to-content:focus{top:12px}
.portfolio-hero{isolation:isolate}
.portfolio-hero::after{content:"";position:absolute;z-index:1;top:-100px;right:-190px;width:min(750px,82vw);height:660px;pointer-events:none;background:radial-gradient(ellipse,rgba(49,117,229,.19),rgba(99,75,201,.06) 52%,transparent 72%)}
.portfolio-hero h1 em{background:linear-gradient(108deg,var(--text) 4%,var(--hb-cinema-blue) 55%,var(--hb-cinema-violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-discovery{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:43px;color:var(--dim);font:500 .73rem/1.5 ui-monospace,Consolas,monospace}
.hero-discovery-line{flex:0 1 48px;height:1px;background:var(--line-strong)}
.hero-discovery a{display:inline-flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none}
.hero-discovery a:hover,.hero-discovery a:focus-visible{color:var(--text);text-decoration:underline;text-underline-offset:5px}
.hero-discovery a span{color:var(--hb-cinema-blue);font-size:1.15rem}
.project-featured{border-color:color-mix(in srgb,var(--hb-cinema-blue) 36%,var(--line))!important}
.project-featured .project-visual{background:linear-gradient(135deg,#11182a,#254577,#141821)}
.project-featured .project-visual img{filter:saturate(.84) contrast(1.06)!important}
.project-featured .project-status{background:rgba(10,18,32,.88);color:#fff;border:1px solid rgba(255,255,255,.18)}
.featured-work-tag{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:8px 13px;border-radius:100px;background:color-mix(in srgb,var(--hb-cinema-blue) 14%,transparent);color:var(--hb-cinema-blue);font-size:.72rem;font-weight:700}
.featured-work-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.project-featured .project-content h3{font-weight:740}
.manifesto-scene{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(100px,14vw,210px);background:#070d19;color:#eff5ff}
.manifesto-scene::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 88% 20%,rgba(45,117,226,.29),transparent 47%),radial-gradient(ellipse at 8% 89%,rgba(134,88,230,.17),transparent 48%)}
.manifesto-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.28fr);align-items:end;gap:32px}
.manifesto-scene .eyebrow{color:#a0b2d1!important}
.manifesto-scene h2{max-width:1000px;margin:25px 0 32px;color:#f3f7ff!important;font-size:clamp(3rem,7.4vw,8.2rem);font-weight:660;line-height:.99;letter-spacing:-.075em;text-wrap:balance}
.manifesto-scene h2 em{font-style:normal;color:#87bfff}
.manifesto-scene p{max-width:54ch;color:#afbed9;font-size:clamp(.98rem,1.3vw,1.17rem);line-height:1.8}
.manifesto-index{color:rgba(177,203,255,.12);font:500 clamp(5rem,15vw,13rem)/.8 ui-monospace,Consolas,monospace;justify-self:end;user-select:none}
.manifesto-link{display:inline-flex;gap:10px;align-items:center;margin-top:25px;padding-bottom:7px;border-bottom:1px solid rgba(177,203,255,.55);color:#e4efff;font-weight:650;text-decoration:none}
.manifesto-link:hover{border-color:white;color:white}
.palette-dialog{width:min(640px,calc(100% - 32px));max-height:82dvh;margin:10dvh auto auto;padding:0;border:1px solid var(--line-strong);border-radius:23px;color:var(--text);background:var(--surface);box-shadow:0 35px 110px rgba(0,0,0,.45);overflow:hidden}
.palette-dialog::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(7px)}
.palette-header{display:flex;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid var(--line)}
.palette-search-icon{font-size:1.24rem;color:var(--accent)}
.palette-input{flex:1;min-width:0;padding:7px 2px;border:0;outline:0!important;box-shadow:none!important;background:transparent;color:var(--text);font:500 1rem/1.45 inherit;font-family:inherit;font-size:1rem}
.palette-input::placeholder{color:var(--dim)}
.palette-close{min-height:31px;padding:5px 10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2);color:var(--muted);font:500 .72rem/1.3 ui-monospace,Consolas,monospace;cursor:pointer}
.palette-results{max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;padding:10px}
.palette-result{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border:1px solid transparent;border-radius:13px;text-decoration:none;color:var(--text)}
.palette-result strong,.palette-result small{display:block}
.palette-result strong{font-size:.94rem;font-weight:680}
.palette-result small{margin-top:4px;color:var(--dim);font-size:.74rem}
.palette-result .palette-arrow{color:var(--dim)}
.palette-result:hover,.palette-result.is-active,.palette-result:focus-visible{background:var(--surface-2);border-color:var(--line);outline:none}
.palette-result:hover .palette-arrow,.palette-result.is-active .palette-arrow{color:var(--accent)}
.palette-empty{padding:23px;text-align:center;color:var(--muted)}
.palette-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:13px 18px;border-top:1px solid var(--line);color:var(--dim);font-size:.72rem}
.back-to-top{position:fixed;z-index:42;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:46px;height:46px;padding:0;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--text);box-shadow:0 12px 34px rgba(0,0,0,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,visibility .2s,transform .2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{border-color:var(--accent)}
.back-to-top:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:980px){.site-header .header-actions{margin-left:auto}.command-launch{margin-left:auto}}
@media(max-width:720px){.command-launch{min-width:42px;min-height:42px;padding:0}.command-text,.command-launch kbd{display:none}.command-glyph{font-size:1.3rem}.portfolio-hero::after{opacity:.6;right:-350px}.hero-discovery{margin-top:28px}.manifesto-scene{padding-block:95px}.manifesto-inner{grid-template-columns:1fr}.manifesto-index{display:none}.manifesto-scene h2{font-size:clamp(2.7rem,11.5vw,5rem)}.palette-dialog{margin:6dvh auto auto;max-height:86dvh}.back-to-top{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.command-launch,.back-to-top{transition:none!important}}
@media(forced-colors:active){.portfolio-hero h1 em{-webkit-text-fill-color:currentColor}.palette-dialog,.command-launch,.back-to-top{border:1px solid ButtonText}}
