@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Caudex:ital,wght@0,400;0,700;1,400;1,700&family=Special+Gothic:wght@400;500;600;700&display=swap";:root{--font-header: Special Gothic, sans-serif;--font-subheader: Special Gothic, sans-serif;--font-paragraph: Caudex, serif;--font-subheader-weight: 400;--header-height: 48px;--bg-color: #ffffff;--text-color: #101010;--accent-color: #111111;--muted-color: #888888;--header-bg: rgba(255, 255, 255, .72);--card-bg: #ffffff;--card-border: #ececec;--card-shadow: 0 2px 12px rgba(0, 0, 0, .06);--card-shadow-hover: 0 6px 24px rgba(0, 0, 0, .1);--footer-bg: #000000;--footer-text: #ffffff;--mobile-nav-bg: #ffffff;--mobile-nav-text: #111111;--mobile-nav-border: rgba(0, 0, 0, .06);--divider-color: rgba(0, 0, 0, .08);--summary-bg: #f6f1f1;--summary-border: #cccccc;--timeline-line: #e0e0e0;--timeline-bullet-bg: #ffffff;--timeline-bullet-border: #d0d0d0;--logo-filter: none;--social-bg: #000000;--social-color: #ffffff;--card-hover-bg: #f4f4f6}[data-theme=dark]{--bg-color: #19191d;--text-color: #f2f2f4;--accent-color: #ffffff;--muted-color: #9ea3a8;--header-bg: rgba(25, 25, 29, .85);--card-bg: #24242a;--card-border: #35353e;--card-shadow: 0 2px 14px rgba(0, 0, 0, .28);--card-shadow-hover: 0 6px 26px rgba(0, 0, 0, .42);--footer-bg: #151518;--footer-text: #96969e;--mobile-nav-bg: #222228;--mobile-nav-text: #f2f2f4;--mobile-nav-border: rgba(255, 255, 255, .1);--divider-color: rgba(255, 255, 255, .15);--summary-bg: #292931;--summary-border: #3e3e4a;--timeline-line: #3b3b46;--timeline-bullet-bg: #222228;--timeline-bullet-border: #5e5e6e;--logo-filter: invert(1);--social-bg: #2c2c34;--social-color: #ffffff;--card-hover-bg: #2e2e36}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-family:var(--font-paragraph);background:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4,h5,h6,.font-header,.name,.section-title,.blog-post-title,.cv-post-title,.not-found-code,.not-found-title{font-family:var(--font-header)}.font-subheader,.role,.tagline,.portfolio-title,.portfolio-subtitle,.portfolio-notice,.project-title,.project-subheader,.post-title,.post-subtitle,.cv-timeline-title,.cv-timeline-subtitle,.blog-timeline-title,.blog-timeline-subtitle,.blog-post-subheader,.main-nav a,.mobile-nav-inner a,.menu-btn,.btn,.btn-secondary,summary,.media-caption,.spine-title,.book-title,#book-title,.book-desc,#book-desc,.feedback,.vinyl-title,.vinyl-artist,.vinyl-time,.vinyl-spotify-link{font-family:var(--font-subheader);font-weight:var(--font-subheader-weight, 400)}p,.font-paragraph,.article,.resume-paragraph,.not-found-text,.about-text,.book-notes,#book-notes{font-family:var(--font-paragraph)}html{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}a{color:#c08ce5}.container{max-width:650px;margin:0 auto;padding:1rem;box-sizing:border-box;width:100%}.site-header{position:fixed;top:0;left:0;right:0;z-index:90;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.35rem 0;transition:background-color .2s ease,border-color .2s ease}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:1.25rem}.menu-btn{display:none;background:none;border:none;font-size:1.25rem;color:var(--text-color);cursor:pointer}.mobile-nav{display:none}.lightswitch-btn{border:none;background:none;font-size:1.05rem;cursor:pointer;color:var(--text-color);display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:50%;transition:transform .15s ease,color .2s ease}.lightswitch-btn:hover{transform:scale(1.15)}.brand a{display:inline-block}.brand .logo{max-width:80px;height:auto;display:block;filter:var(--logo-filter);transition:filter .2s ease}.main-nav{display:flex;gap:1.25rem;align-items:center;margin-left:auto}.main-nav a{position:relative;color:var(--text-color);text-decoration:none;font-size:1rem;padding:4px 0;transition:color .2s ease;display:inline-block}.main-nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1.5px;background-color:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .26s cubic-bezier(.25,1,.5,1)}.main-nav a:hover:after{transform:scaleX(1);transform-origin:left center}.main-nav a.active{font-weight:500;color:var(--accent-color)}.main-nav a.active:after{transform:scaleX(1);transform-origin:left center}.main-content{flex:1 0 auto;width:100%;padding-top:0;padding-bottom:0;box-sizing:border-box}.hero-main,.main-content:has(.hero){display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;box-sizing:border-box}.hero{display:flex;gap:2.5rem;align-items:center;justify-content:center;width:100%;padding:1.5rem 0;box-sizing:border-box}.avatar-coin-container{display:inline-flex;align-items:center;justify-content:center;padding:10px;perspective:750px;cursor:grab;flex:0 0 auto}.avatar-coin{position:relative;display:inline-block;border-radius:50%;transform-style:preserve-3d;will-change:transform,box-shadow;box-shadow:0 8px 28px #10101026;transition:transform .15s ease-out,box-shadow .15s ease-out;text-decoration:none}.avatar-coin .avatar{display:block;width:160px;height:160px;border-radius:50%;-o-object-fit:cover;object-fit:cover;pointer-events:none;box-shadow:none}[data-theme=dark] .avatar-coin{box-shadow:0 10px 32px #000000a6;border-color:#ffffff29}[data-theme=dark] .avatar-coin .coin-shine{mix-blend-mode:screen}.avatar{width:160px;height:160px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 6px 30px #1010101a;flex:0 0 auto}.profile{max-width:640px;display:flex;flex-direction:column;justify-content:space-between;height:160px;box-sizing:border-box}.profile-top{display:flex;flex-direction:column;gap:.6rem;margin:0}.name{margin:0;font-size:1.6rem;line-height:1.15;color:var(--text-color)}.role{margin:0;font-size:1.1rem;line-height:1.25;color:var(--accent-color)}.tagline{margin:0;font-size:1.1rem;line-height:1.25;color:var(--muted-color)}.socials{display:flex;gap:.75rem;margin:0}.social{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--social-bg);color:var(--social-color);border-radius:50%;text-decoration:none;transition:transform .14s ease,opacity .12s ease,background-color .18s ease}.social svg,.social i{display:block}.social i{color:#fff;font-size:1.1rem;line-height:1}.social:hover{transform:translateY(-3px);opacity:.95}.social.instagram:hover{background:#e1306c}.social.x:hover{background:#1da1f2}.social.github:hover{background:#24292e}.social.linkedin:hover{background:#0a66c2}.social.coffee:hover{background:#fd0;color:#111}.social.telegram:hover{background:#26a5e4}.social.email:hover{background:#ea4335}.social.reddit:hover{background:#f74300}.social.steam:hover{background:#133667}.social.duolingo:hover{background:#50c102}.social.geoguessr:hover{background:#c9142b}.social.letterboxd:hover{background:#1f272e}.social.strava:hover{background:#f44a01}.social:hover i{color:#fff}.social.coffee:hover i{color:#111}.profile-bottom{display:flex;flex-direction:row;align-items:center;gap:.75rem}.group-separator{width:1px;height:36px;background:var(--divider-color);border-radius:2px}.feedback-links{display:flex;gap:.5rem;align-items:center}.feedback{color:var(--accent-color);margin:0}.feedback a{color:#4b3db5;text-decoration:underline}.about-text{margin:0}.projects-list--square{display:grid;grid-template-columns:1fr;gap:1.2rem;list-style:none;margin:0;padding:0;width:100%;box-sizing:border-box}.projects-list--square .project-item{width:100%;list-style:none;margin:0;padding:0}.projects-list--square .project-card{width:100%;aspect-ratio:1/1;min-height:140px;max-width:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:var(--card-bg);color:var(--text-color);box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:box-shadow .18s,background-color .18s,border-color .18s;text-decoration:none}.projects-list--square .project-card:hover{box-shadow:var(--card-shadow-hover)}.projects-list--square .project-icon{font-size:1rem;margin-bottom:.5rem}.project-title{font-size:1rem;margin:.2rem 0 0;font-weight:600;text-align:center;color:var(--text-color)}.posts-list--2x2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;list-style:none;margin:0 auto;padding:0;max-width:100%;width:100%;box-sizing:border-box;justify-content:center}.posts-list--2x2 .post-item{width:100%;list-style:none;margin:0;padding:0;box-sizing:border-box;justify-content:center}.posts-list--2x2 .post-card{width:100%;min-height:80px;display:flex;flex-direction:column;justify-content:center;border-radius:10px;background:var(--card-bg);color:var(--text-color);box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:box-shadow .18s,background-color .18s,border-color .18s;padding:0 15px;text-decoration:none}.posts-list--2x2 .post-card:hover{box-shadow:var(--card-shadow-hover)}.post-title{font-size:1.08rem;font-weight:600;text-align:left;margin:0;color:var(--text-color)}.post-subtitle{font-size:.95rem;color:var(--muted-color);text-align:left}@media (max-width: 720px){.projects-list--square .project-card{min-height:120px;aspect-ratio:unset}.posts-list--2x2{flex-direction:column;gap:1rem}.posts-list--2x2 .post-item{width:100%}}.site-footer{margin-top:auto;background:var(--footer-bg);color:var(--footer-text);position:static;width:100%;flex-shrink:0;border-top:1px solid var(--divider-color);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.site-footer .container{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;font-size:.85rem}@media (max-width: 720px){.hero{flex-direction:column;text-align:center;gap:1rem;padding-top:0;align-items:center;justify-content:center}.avatar,.avatar-coin .avatar{width:140px;height:140px}.profile{max-width:100%;height:auto;align-items:center}.profile-bottom{align-items:center;flex-direction:column;gap:.75rem;margin-top:1rem}.group-separator{display:none}.feedback-links{width:auto}.feedback{margin:0}.socials{justify-content:center}.main-nav,.floating-info{display:none}}@media (max-width: 720px){.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;font-size:1.25rem;position:absolute;left:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text-color)}.header-inner{gap:.5rem;justify-content:center;position:relative}.header-inner .lightswitch-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;z-index:95;padding:8px}.header-inner .lightswitch-btn:hover{transform:translateY(-50%) scale(1.15)}.brand{margin:0}.brand .logo{display:block;margin:0 auto;animation:logoUpDirInsert 2s cubic-bezier(.2,.9,.3,1) forwards}@keyframes logoUpDirInsert{0%{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-nav{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:100;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.mobile-nav[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav-inner{background:var(--mobile-nav-bg);width:80%;max-width:320px;height:100%;padding:1.25rem;box-shadow:4px 0 24px #00000059;display:flex;flex-direction:column;gap:1rem;transform:translate(-100%);transition:transform .32s cubic-bezier(.25,1,.5,1),background-color .2s ease;will-change:transform}.mobile-nav[aria-hidden=false] .mobile-nav-inner{transform:translate(0)}.mobile-close{background:none;border:none;font-size:1.25rem;align-self:flex-end;color:var(--mobile-nav-text);cursor:pointer;padding:4px 8px}.mobile-nav-inner a{position:relative;color:var(--mobile-nav-text);text-decoration:none;padding:.5rem 0;font-size:1.15rem;font-weight:500;display:inline-block;width:-moz-fit-content;width:fit-content;transition:color .2s ease}.mobile-nav-inner a:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:2px;background-color:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .26s cubic-bezier(.25,1,.5,1)}.mobile-nav-inner a:hover:after{transform:scaleX(1);transform-origin:left center}.mobile-nav-inner a.active{font-weight:600;color:var(--accent-color)}.mobile-nav-inner a.active:after{transform:scaleX(1);transform-origin:left center;background-color:var(--accent-color)}.mobile-nav-footer{margin-top:auto;padding-top:2rem;padding-bottom:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.mobile-nav-signature{width:140px;max-width:100%;color:var(--mobile-nav-text);opacity:.92;display:flex;align-items:center;justify-content:center}.mobile-nav-signature svg{width:40%;height:auto;display:block;overflow:visible}.mobile-nav-signature .mask-stroke{fill:none;stroke:#fff;stroke-width:58;stroke-linecap:round;stroke-linejoin:round}.mobile-nav-signature .stroke-d,.mobile-nav-signature .stroke-body{stroke-dasharray:2200;stroke-dashoffset:2200}.mobile-nav-signature .stroke-stem{stroke-dasharray:900;stroke-dashoffset:900}.mobile-nav-signature .stroke-flourish{stroke-dasharray:2600;stroke-dashoffset:2600}.mobile-nav[aria-hidden=false] .mobile-nav-signature .stroke-d,.mobile-nav-signature.is-drawn .stroke-d{animation:drawSigStroke .85s cubic-bezier(.4,0,.2,1) .05s forwards}.mobile-nav[aria-hidden=false] .mobile-nav-signature .stroke-body,.mobile-nav-signature.is-drawn .stroke-body{animation:drawSigStroke .5s cubic-bezier(.4,0,.2,1) .75s forwards}.mobile-nav[aria-hidden=false] .mobile-nav-signature .stroke-stem,.mobile-nav-signature.is-drawn .stroke-stem{animation:drawSigStroke .5s cubic-bezier(.4,0,.2,1) 1.65s forwards}.mobile-nav[aria-hidden=false] .mobile-nav-signature .stroke-flourish,.mobile-nav-signature.is-drawn .stroke-flourish{animation:drawSigStroke 1s cubic-bezier(.4,0,.2,1) 2s forwards}@keyframes drawSigStroke{0%{stroke-dashoffset:2600}to{stroke-dashoffset:0}}}.projects-section,.posts-section,.about-section{padding:0;padding-bottom:2rem}.blog-section,.about-section{padding:.75rem 0}.section-title{font-size:1.08rem;margin:1.5rem 0 .5rem;color:var(--text-color)}.vault-content .section-title,.vault-page .section-title,.myjam-content .section-title,.myjam-page .section-title,.portfolio-page .section-title,.projects-category .section-title{display:flex;align-items:center;gap:1.15rem;width:100%}.vault-content .section-title:after,.vault-page .section-title:after,.myjam-content .section-title:after,.myjam-page .section-title:after,.portfolio-page .section-title:after,.projects-category .section-title:after{content:"";flex:1;height:1px;background-color:var(--divider-color);min-width:20px}section{scroll-margin-top:calc(var(--header-height, 48px) + .6rem)}section[id]:before{content:"";display:block;height:calc(var(--header-height, 48px) + .6rem);margin-top:calc(-1 * (var(--header-height, 48px) + .6rem));visibility:hidden;pointer-events:none}.contact-links{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.contact-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent-color);text-decoration:none;font-weight:500}.contact-link i{font-size:1rem;color:var(--accent-color)}.contact-links span[aria-hidden=true]{color:var(--muted-color);margin:0 .35rem}.projects-list--projects .project-meta{display:none}@media (max-width: 720px){.projects-list,.projects-list--projects{grid-template-columns:1fr}.project-item{flex-direction:column;align-items:center}.project-thumb{width:100%;height:160px}.project-link{margin-left:0}}.resume-paragraph{font-family:var(--font-paragraph);line-height:1.75}.cv-timeline-list{list-style:none;margin-top:16px;padding:0;position:relative}.cv-timeline-list:before{content:"";position:absolute;left:17px;top:0;bottom:0;width:2px;background:var(--timeline-line);z-index:0}.cv-timeline-item{position:relative;padding-left:33px;margin-bottom:1.5rem;min-height:24px}.cv-timeline-item:last-child{margin-bottom:0}.cv-timeline-bullet{position:absolute;left:10px;top:.5em;width:16px;height:16px;background:var(--timeline-bullet-bg);border:2.5px solid var(--timeline-bullet-border);border-radius:50%;z-index:1}.cv-timeline-content{position:relative;z-index:2;text-decoration:none}.cv-timeline-content:hover .cv-timeline-title{text-decoration:underline}.cv-timeline-title{font-size:1rem;font-weight:500;margin:0;color:var(--text-color)}.cv-timeline-subtitle{font-size:.97rem;color:var(--muted-color);margin:.15rem 0 0}.cv-post-title{font-size:1.6rem;margin:.5rem 0 .25rem;font-weight:600;color:var(--text-color)}.collapsible-container{margin-bottom:10px;overflow:hidden}summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;background-color:var(--summary-bg);color:var(--text-color);padding:.5rem .6rem;border-radius:6px;transition:background-color .2s ease}summary::-webkit-details-marker{display:none}summary:hover{filter:brightness(.97)}summary .section-title{margin:0;font-size:1.05rem}summary .section-title:after{display:none}summary:after{content:"▼";font-size:.8em;transition:transform .3s}details[open] summary:after{transform:rotate(180deg)}.collapsible-content{border-top:1px solid var(--summary-border);padding-top:.85rem}.portfolio-notice{text-align:center;font-family:var(--font-paragraph);font-size:.92rem;color:var(--muted-color);margin:1rem auto auto;max-width:520px;line-height:1.5}.portfolio-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;list-style:none;margin:0;padding:0;width:100%;box-sizing:border-box}@media (max-width: 600px){.portfolio-list{grid-template-columns:1fr;gap:.65rem}}.portfolio-item{width:100%;list-style:none;margin:0;padding:0;box-sizing:border-box}.portfolio-card{width:100%;min-height:68px;display:flex;flex-direction:row;align-items:center;border-radius:12px;background:var(--card-bg);box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:transform .2s ease,box-shadow .2s ease,background-color .18s,border-color .18s;text-decoration:none;padding:.75rem 1rem;gap:.75rem;box-sizing:border-box}.portfolio-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}@media (max-width: 600px){.portfolio-card{padding:.65rem .75rem;min-height:60px;gap:.5rem}}.portfolio-thumb{width:30px;height:30px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;filter:var(--logo-filter);transition:filter .2s ease}.portfolio-body{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}.portfolio-title{font-size:1rem;font-weight:600;margin:0;color:var(--text-color);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-subtitle{font-size:.84rem;color:var(--muted-color);margin:.2rem 0 0;text-align:left;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skills{margin:0 0 .5rem}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.35rem;margin:.5rem 0;background:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color);border-radius:6px;text-decoration:none;font-family:var(--font-subheader);font-weight:500;font-size:.95rem;letter-spacing:.02em;cursor:pointer;overflow:hidden;box-shadow:0 1px 3px #00000014;transition:background-color .22s cubic-bezier(.25,1,.5,1),color .22s cubic-bezier(.25,1,.5,1),border-color .22s cubic-bezier(.25,1,.5,1),box-shadow .22s cubic-bezier(.25,1,.5,1)}.btn:before{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.16) 50%,transparent 100%);pointer-events:none;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.btn:hover{background:transparent;color:var(--text-color);border-color:var(--text-color);box-shadow:0 0 0 1px var(--text-color),0 2px 8px #0000000f}.btn:hover:before{transform:translate(300%)}.btn:active{background:var(--card-hover-bg);box-shadow:0 0 0 1px var(--text-color) inset;transition-duration:.08s}.btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.icon-carousel-container{width:100%;overflow:hidden;padding:10px 0;margin:30px 0}.icon-carousel-track{display:flex;gap:40px;width:-moz-max-content;width:max-content;animation:scrollLinear 77s linear infinite;animation-play-state:paused}.icon-carousel-item{height:30px;flex:0 0 auto;overflow:hidden;background:transparent;opacity:50%}.icon-carousel-item img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}@keyframes scrollLinear{0%{transform:translate(0)}to{transform:translate(-50%)}}.projects-list--3col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;list-style:none;margin:0;padding:0;width:100%;box-sizing:border-box}.projects-list--3col .project-item{width:100%;list-style:none;margin:0;padding:0}.projects-list--3col .project-card{width:100%;aspect-ratio:1/1;min-height:140px;max-width:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:var(--card-bg);box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:box-shadow .18s,background-color .18s,border-color .18s;text-decoration:none}.projects-list--3col .project-card:hover{box-shadow:var(--card-shadow-hover)}.projects-list--3col .project-thumb{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:10px 10px 0 0;margin-bottom:.5rem}.projects-list--3col .project-title{font-size:1rem;margin:.2rem 0 0;font-weight:600;text-align:center;color:var(--text-color)}.back-nav{margin-bottom:0}.back-btn{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted-color);text-decoration:none;font-family:var(--font-subheader);font-weight:var(--font-subheader-weight, 400);font-size:1rem;padding:4px 0;transition:color .18s ease,transform .18s ease}.back-btn i{font-size:.82rem;transition:transform .18s ease}.back-btn:hover{color:var(--text-color)}.back-btn:hover i{transform:translate(-2px)}.project-header{display:flex;align-items:center;gap:.7rem}.project-header h2{margin:.5rem 0}.project-header img{width:30px;height:30px;-o-object-fit:contain;object-fit:contain;filter:var(--logo-filter);transition:filter .2s ease}.project-subheader{color:var(--muted-color);margin:0;line-height:1.5rem}.article{font-family:var(--font-paragraph);line-height:1.5;text-align:justify;color:var(--text-color);margin:.5rem 0}.blog-timeline-list{list-style:none;margin:24px 0 0;padding:0;position:relative}.blog-timeline-list:before{content:"";position:absolute;left:17px;top:34px;bottom:34px;width:2px;background:var(--timeline-line);z-index:0}.blog-timeline-item{position:relative;padding-left:33px;margin-bottom:.85rem;min-height:68px;display:flex;align-items:center;box-sizing:border-box}.blog-timeline-item:last-child{margin-bottom:0}.blog-timeline-bullet{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:var(--timeline-bullet-bg);border:2.5px solid var(--timeline-bullet-border);border-radius:50%;z-index:1;transition:border-color .18s ease}.blog-timeline-item:hover .blog-timeline-bullet{border-color:var(--accent-color)}.blog-timeline-content{width:100%;min-height:68px;display:flex;flex-direction:column;justify-content:center;border-radius:12px;border:none;transition:background-color .18s ease,box-shadow .18s ease;text-decoration:none;padding:0 1rem;box-sizing:border-box;position:relative;z-index:2}.blog-timeline-content:hover{transform:none;background-color:var(--card-hover-bg)}.blog-timeline-title{font-size:1rem;font-weight:600;margin:0;color:var(--text-color);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-timeline-subtitle{font-size:.84rem;color:var(--muted-color);margin:.2rem 0 0;text-align:left;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-post-title{font-size:1.6rem;margin:.5rem 0 .3rem;font-weight:600;color:var(--text-color)}.blog-post-subheader{color:var(--muted-color);margin:.2rem 0 1.5rem}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:1rem 0;width:100%}.media-grid .poster{width:100%;aspect-ratio:2/3;height:auto;border-radius:10px;-o-object-fit:cover;object-fit:cover;box-shadow:0 4px 14px #0000001f;transition:transform .2s ease,box-shadow .2s ease}.media-grid .poster:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000038}.media-grid .album{width:100%;aspect-ratio:1/1;height:auto;border-radius:10px;-o-object-fit:cover;object-fit:cover;box-shadow:0 4px 14px #0000001f;transition:transform .2s ease,box-shadow .2s ease}.media-grid .album:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000038}@media (max-width: 600px){.media-grid{gap:.6rem}}.media-container{position:relative;margin:.5rem 0}.media-scroll{width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;position:relative;scrollbar-width:none}.media-scroll::-webkit-scrollbar{display:none;width:0;height:0}.media-stack{display:inline-flex;gap:12px;align-items:flex-start;min-width:600px}.media-item{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-color)}.media-caption{font-size:.85rem;margin-top:.45rem;text-align:center;line-height:1.3}.media-item:hover .media-caption{text-decoration:underline}.poster{width:120px;height:180px;border-radius:10px;-o-object-fit:cover;object-fit:cover}.reel-item{width:101px;height:180px;border-radius:10px;overflow:hidden;flex-shrink:0;display:inline-flex;position:relative;background:#000;box-shadow:0 2px 8px #00000026}.reel-item iframe{width:100%;height:100%;border:none;border-radius:10px}.album{width:120px;height:120px;border-radius:10px;-o-object-fit:cover;object-fit:cover}.certificate{width:270px;height:180px;border-radius:10px;-o-object-fit:cover;object-fit:cover}.vertical-divider{align-self:stretch;width:1px;background-color:var(--divider-color);flex-shrink:0}.media-stack img{cursor:pointer;transition:transform .18s ease,filter .18s ease}.media-stack img:hover{filter:brightness(1.06)}.media-arrow{position:absolute;top:50%;transform:translateY(-50%);background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;z-index:10;transition:opacity .18s,visibility .18s,transform .15s ease,background-color .15s ease;opacity:.85;cursor:pointer}.media-arrow:hover{opacity:1!important;transform:translateY(-50%) scale(1.08)}.media-arrow--left{left:6px;right:auto}.media-arrow--right{right:6px;left:auto}.media-arrow[style*=hidden]{opacity:0;pointer-events:none}.media-viewer-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.media-viewer-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.media-viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-viewer-container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:92vw;max-height:92vh;padding:1rem;box-sizing:border-box}.media-viewer-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:80vh}.media-viewer-img{max-width:88vw;max-height:78vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 16px 48px #0009;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .15s ease,transform .15s ease}.media-viewer-close{position:fixed;top:18px;right:22px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background-color .15s ease,transform .15s ease}.media-viewer-close:hover{background:#ffffff4d;transform:scale(1.1)}.media-viewer-nav{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background-color .15s ease,transform .15s ease,opacity .15s ease}.media-viewer-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.media-viewer-nav--prev{left:20px}.media-viewer-nav--next{right:20px}.media-viewer-nav[disabled]{opacity:.25;pointer-events:none}@media (max-width: 600px){.media-viewer-nav{width:38px;height:38px;font-size:1.2rem}.media-viewer-nav--prev{left:10px}.media-viewer-nav--next{right:10px}}.media-viewer-info{margin-top:.75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;color:#fff;text-align:center}.media-viewer-caption{font-family:var(--font-subheader);font-size:.95rem;color:#ffffffe6}.media-viewer-counter{font-family:var(--font-subheader);font-size:.8rem;color:#fff9;letter-spacing:.05em}.quotes-section{margin:2.5rem 0 1.5rem;width:100%}.quotes-container{position:relative;width:100%}.quotes-scroll{display:flex;flex-direction:row;align-items:stretch;gap:.85rem;overflow-x:auto;overflow-y:hidden;padding:4px 0 8px;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}@media (max-width: 600px){.quotes-scroll{gap:.65rem}}.quotes-scroll::-webkit-scrollbar{display:none;width:0;height:0}.quote-card{--quote-gap: .85rem;flex:0 0 calc((100% - 3 * var(--quote-gap)) / 3.3);min-width:calc((100% - 3 * var(--quote-gap)) / 3.3);max-width:calc((100% - 3 * var(--quote-gap)) / 3.3);min-height:135px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--card-shadow);padding:.95rem 1rem;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;text-decoration:none;color:var(--text-color);transition:background-color .18s ease,border-color .18s ease}.quote-card:hover{transform:none;background-color:var(--card-hover-bg)}@media (max-width: 600px){.quote-card{--quote-gap: .65rem;flex:0 0 calc((100% - 2 * var(--quote-gap)) / 2.3);min-width:calc((100% - 2 * var(--quote-gap)) / 2.3);max-width:calc((100% - 2 * var(--quote-gap)) / 2.3);padding:.8rem .85rem;min-height:125px}}.quote-text{font-family:var(--font-paragraph);font-size:.92rem;line-height:1.45;color:var(--text-color);margin:0;font-style:italic;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}@media (max-width: 600px){.quote-text{font-size:.85rem}}.quote-author{font-family:var(--font-subheader);font-size:.78rem;color:var(--muted-color);margin:.7rem 0 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 600px){.quote-author{font-size:.74rem}}.quote-card--more{flex:0 0 calc((100% - 3 * var(--quote-gap)) / 6.6);min-width:calc((100% - 3 * var(--quote-gap)) / 6.6);max-width:calc((100% - 3 * var(--quote-gap)) / 6.6);padding:.75rem .4rem;align-items:center;justify-content:center;gap:.45rem;background:var(--card-bg);color:var(--text-color);cursor:pointer;text-align:center}.quote-card--more .quote-more-text{font-family:var(--font-subheader);font-size:.82rem;font-weight:600;line-height:1.25;color:var(--text-color);text-align:center}.quote-card--more i{font-size:.95rem;color:var(--accent-color);transition:transform .2s ease}.quote-card--more:hover{background-color:var(--card-hover-bg)}.quote-card--more:hover i{transform:translate(4px)}@media (max-width: 600px){.quote-card--more{flex:0 0 calc((100% - 2 * var(--quote-gap)) / 4.6);min-width:calc((100% - 2 * var(--quote-gap)) / 4.6);max-width:calc((100% - 2 * var(--quote-gap)) / 4.6);padding:.6rem .3rem}.quote-card--more .quote-more-text{font-size:.75rem}.quote-card--more i{font-size:.85rem}}.quotes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1.5rem 0}@media (max-width: 720px){.quotes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}@media (max-width: 480px){.quotes-grid{grid-template-columns:1fr}}.quotes-grid .quote-card{min-width:100%;max-width:100%;flex:none}.vinyl-section{margin-top:2rem;width:100%}.vinyl-player{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:.5rem;box-sizing:border-box;margin-bottom:2rem}.turntable-deck{position:relative;width:310px;height:175px;flex-shrink:0;display:flex;align-items:center;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:transparent}.vinyl-sleeve-wrap{position:absolute;left:0;top:50%;transform:translateY(-50%);width:150px;height:150px;z-index:4}.vinyl-sleeve-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;box-shadow:4px 6px 18px #00000047;display:block}.vinyl-sleeve-spine{position:absolute;left:0;top:0;bottom:0;width:3px;background:#0003;border-top-left-radius:8px;border-bottom-left-radius:8px;pointer-events:none}.vinyl-record-wrap{position:absolute;left:75px;top:50%;transform:translateY(-50%);width:150px;height:150px;z-index:2;display:flex;align-items:center;justify-content:center}.vinyl-record{width:100%;height:100%;border-radius:50%;position:relative;background:radial-gradient(circle at center,transparent 32%,rgba(255,255,255,.04) 33%,transparent 34%),radial-gradient(circle at center,transparent 44%,rgba(255,255,255,.05) 45%,transparent 46%),radial-gradient(circle at center,transparent 56%,rgba(255,255,255,.04) 57%,transparent 58%),radial-gradient(circle at center,transparent 68%,rgba(255,255,255,.05) 69%,transparent 70%),radial-gradient(circle at center,transparent 80%,rgba(255,255,255,.04) 81%,transparent 82%),radial-gradient(circle at center,transparent 92%,rgba(255,255,255,.05) 93%,transparent 94%),repeating-radial-gradient(circle at center,#0d0d0f,#1a1a1d,#0d0d0f 3px);box-shadow:0 8px 20px #00000059;display:flex;align-items:center;justify-content:center;transform-origin:center center;animation:spinVinylRecord 4.5s linear infinite;animation-play-state:paused}.vinyl-player.is-playing .vinyl-record{animation-play-state:running}@keyframes spinVinylRecord{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vinyl-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 35deg,transparent 0deg,rgba(255,255,255,.08) 35deg,transparent 70deg,transparent 180deg,rgba(255,255,255,.08) 215deg,transparent 250deg,transparent 360deg);pointer-events:none}.vinyl-center-label{width:52px;height:52px;border-radius:50%;position:relative;overflow:hidden;border:2px solid #000;box-shadow:0 0 6px #0009;display:flex;align-items:center;justify-content:center}.vinyl-center-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.vinyl-spindle-hole{position:absolute;width:10px;height:10px;border-radius:50%;background:#000;border:1px solid rgba(255,255,255,.35)}.turntable-tonearm{position:absolute;top:12px;right:55px;width:70px;height:165px;z-index:5;pointer-events:none;transform-origin:48px 18px;transform:rotate(-18deg);transition:transform .65s cubic-bezier(.34,1.25,.64,1)}.vinyl-player.is-playing .turntable-tonearm{transform:rotate(30deg)}.tonearm-pivot-base{position:absolute;top:0;right:0;width:44px;height:44px;border-radius:50%;background:#00000014;display:flex;align-items:center;justify-content:center}.tonearm-pivot-ring{width:30px;height:30px;border-radius:50%;background:#2b2b2e;border:1.5px solid #4a4a50;box-shadow:0 2px 4px #0000004d}.tonearm-pivot-center{position:absolute;width:12px;height:12px;border-radius:50%;background:#e2e4e8;border:1px solid #8e9096}.tonearm-rod{position:absolute;top:24px;right:20px;width:4px;height:116px;background:linear-gradient(to right,#cfd3d8,#fff,#9aa0a6);border-radius:2px;box-shadow:1px 3px 6px #00000040}.tonearm-cartridge{position:absolute;bottom:10px;right:14px;width:17px;height:24px;background:#1c1c1f;border-radius:3px;border:1px solid #333338;transform:rotate(14deg);box-shadow:1px 3px 6px #00000059}.tonearm-cartridge:after{content:"";position:absolute;bottom:-3px;left:6px;width:2px;height:5px;background:silver}.vinyl-player-details{flex:1;display:flex;flex-direction:column;align-items:left;justify-content:left;text-align:left;min-width:0;gap:.45rem}.vinyl-meta{text-align:left;width:100%}.vinyl-title{font-family:var(--font-subheader);font-size:1.25rem;font-weight:600;line-height:1.25;color:var(--text-color);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vinyl-artist{font-family:var(--font-subheader);font-size:.95rem;color:var(--muted-color);margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vinyl-controls-row{display:flex;align-items:center;justify-content:left;gap:.5rem;margin-top:.25rem}.vinyl-play-wrap{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center}.vinyl-progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.vinyl-ring-bg{fill:none;stroke:var(--summary-border);stroke-width:2.5}.vinyl-ring-fill{fill:none;stroke:var(--accent-color);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:144.51;stroke-dashoffset:144.51;transition:stroke-dashoffset .15s linear}.vinyl-btn{background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease;box-shadow:var(--card-shadow)}.vinyl-btn:hover{transform:scale(1.08);box-shadow:var(--card-shadow-hover)}.vinyl-btn--prev,.vinyl-btn--next{width:47px;height:47px;font-size:.85rem}.vinyl-btn--play{width:40px;height:40px;font-size:1rem;background:var(--text-color);color:var(--bg-color);border-color:var(--text-color);z-index:2}.vinyl-time-display{font-family:var(--font-subheader);font-size:.78rem;color:var(--muted-color);font-variant-numeric:tabular-nums;letter-spacing:.04em}@media (max-width: 600px){.vinyl-player{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;margin-bottom:2rem}.turntable-deck{width:205px;height:138px;max-width:60%;margin:0;flex-shrink:0}.vinyl-sleeve-wrap{width:124px;height:124px;left:0}.vinyl-record-wrap{left:48px;width:124px;height:124px}.vinyl-center-label{width:44px;height:44px}.vinyl-spindle-hole{width:8px;height:8px}.turntable-tonearm{width:52px;height:128px;top:6px;right:14px;transform-origin:36px 14px;transform:rotate(-18deg)}.vinyl-player.is-playing .turntable-tonearm{transform:rotate(22deg)}.tonearm-pivot-base{width:34px;height:34px}.tonearm-pivot-ring{width:24px;height:24px}.tonearm-pivot-center{width:9px;height:9px}.tonearm-rod{top:18px;right:15px;width:3px;height:90px}.tonearm-cartridge{bottom:8px;right:10px;width:13px;height:18px}.vinyl-player-details{flex:1;min-width:0;width:auto;max-width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:.35rem;margin:0}.vinyl-meta{width:100%;min-width:0;text-align:left}.vinyl-title{font-size:1.05rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.vinyl-artist{font-size:.82rem;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.vinyl-controls-row{display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;gap:.35rem;margin-top:.15rem}.vinyl-play-wrap{width:42px;height:42px}.vinyl-btn--play{width:32px;height:32px;font-size:.82rem}.vinyl-btn--prev,.vinyl-btn--next{width:32px;height:32px;font-size:.72rem}.vinyl-time-display{font-size:.72rem;margin-top:.1rem}}@media (max-width: 360px){.vinyl-player{gap:.45rem}.turntable-deck{width:185px;height:126px}.vinyl-sleeve-wrap{width:114px;height:114px}.vinyl-record-wrap{left:40px;width:114px;height:114px}.vinyl-center-label{width:40px;height:40px}.turntable-tonearm{width:46px;height:116px;top:6px;right:12px;transform-origin:32px 13px}.tonearm-pivot-base{width:30px;height:30px}.tonearm-pivot-ring{width:20px;height:20px}.tonearm-rod{top:16px;right:13px;width:2.5px;height:80px}.tonearm-cartridge{bottom:7px;right:8px;width:12px;height:16px}.vinyl-player-details{width:auto;gap:.25rem}.vinyl-title{font-size:.95rem}.vinyl-artist{font-size:.76rem}.vinyl-play-wrap{width:38px;height:38px}.vinyl-btn--play{width:28px;height:28px;font-size:.75rem}.vinyl-btn--prev,.vinyl-btn--next{width:28px;height:28px;font-size:.65rem}.vinyl-time-display{font-size:.68rem}}.not-found-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3.5rem 1rem;margin:auto 0;width:100%;box-sizing:border-box}.not-found-code{font-family:var(--font-header);font-size:6.5rem;font-weight:700;line-height:1;margin:0;letter-spacing:-.02em;color:var(--accent-color);opacity:.88}.not-found-title{font-size:1.5rem;font-weight:600;margin:1.25rem 0 .5rem;color:var(--text-color)}.not-found-text{font-size:1.05rem;color:var(--muted-color);line-height:1.6;max-width:440px;margin:0 0 1.75rem}.not-found-links{display:flex;gap:.85rem;align-items:center;justify-content:center;flex-wrap:wrap}.btn-secondary{background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}.btn-secondary:hover{border-color:var(--accent-color)}
