@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";:root{--bg: #ffffff;--text: #13171c;--muted: #5a6470;--line: #d8dee6;--surface: #f4f6f9;--admin-blue: #1c6dd0;--admin-ink: #13253f;--admin-soft: #eef5ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Manrope,Avenir Next,Segoe UI,sans-serif}html.no-scroll,body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}img,video{display:block;max-width:100%}input,textarea,button,select{font:inherit}input,textarea,select{width:100%;padding:.55rem .65rem;border:1px solid var(--line);background:#fff}button{border:1px solid #111;background:#111;color:#fff;padding:.52rem .95rem;cursor:pointer;border-radius:10px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000014}button.secondary{background:#fff;color:#111;border-color:var(--line)}.shell{min-height:100vh;display:grid;grid-template-columns:300px 1fr}.sidebar{border-right:0;padding:2rem 1.4rem;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:#fff}.brand{display:inline-block;margin:0 0 1.3rem;font-family:Sora,Manrope,sans-serif;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.25;transition:opacity .14s ease}.brand:hover{opacity:.8}.brand.active{font-weight:600}.sidebar nav{display:grid;gap:.5rem}.sidebar .section{margin:1rem 0 .2rem;color:var(--muted);font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}.sidebar-link{display:inline-block;width:fit-content;padding:.1rem 0;color:#2f3945;transition:opacity .14s ease}.sidebar-link:hover{opacity:.75}.sidebar-link.active{font-weight:600;color:var(--text)}.project-nav-item{display:grid;gap:.22rem;border:0;border-radius:0;padding:.18rem 0;background:transparent;transition:opacity .14s ease}.project-nav-item:hover{opacity:.75}.project-nav-item.active{opacity:1}.project-nav-item strong{font-weight:500}.project-nav-item.active strong{font-weight:700}.project-nav-item small{color:var(--muted)}.sidebar-about-link{display:block;width:fit-content;color:#2f3945;transition:opacity .14s ease}.sidebar-about-link:hover{opacity:.75}.sidebar-page-links{display:grid;gap:.6rem;width:fit-content;margin-top:1.05rem;padding-top:.7rem;border-top:1px solid #e4e9ef}.sidebar-about-link.active{font-weight:600;color:var(--text)}.sidebar-legal-links{display:grid;gap:.6rem;margin-top:1.1rem}.content{padding:2rem}.page-title{margin:0 0 .5rem;font-family:Sora,Manrope,sans-serif;font-size:1.5rem;font-weight:500;letter-spacing:.01em}.page-subtitle{margin:0 0 1.25rem;color:var(--muted);max-width:80ch}.main-mobile-title{display:none;margin:0 0 1.1rem;font-family:Sora,Manrope,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.rich-text p{margin:0}.rich-text p+p{margin-top:.85rem}.rich-text strong{font-weight:700}.notice{margin:0 0 1rem;padding:.65rem .75rem}.notice.error{border-color:#9e2d2d}.overview-grid{margin-top:1.6rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.overview-card{width:min(100%,1120px);margin:0 auto;border:0;background:#fff;content-visibility:auto;contain-intrinsic-size:640px}.overview-card .media-frame{width:100%;height:min(58vw,540px);min-height:260px;background:#f2f2f2;overflow:hidden}.overview-card img,.overview-card video{width:100%;height:100%;object-fit:cover}.overview-card .meta{padding:.85rem 0 0;text-align:center}.overview-card h3{margin:0 0 .25rem;font-size:1.05rem}.overview-card p{margin:0;color:var(--muted);text-align:center}.media-grid{margin-top:1.2rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.media-card{border:1px solid var(--line)}.media-card img,.media-card video{width:100%;height:260px;object-fit:cover;background:#000}.media-zoom-trigger{width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.media-zoom-trigger:hover{transform:none;box-shadow:none}.media-card figcaption{padding:.55rem .65rem;color:var(--muted)}.project-media-grid{grid-template-columns:1fr;gap:1.35rem;justify-items:center}.project-media-card{width:fit-content;max-width:min(100%,1120px);margin:0;border:0;background:transparent;display:grid;justify-items:center;content-visibility:auto;contain-intrinsic-size:900px}.project-media-card .media-zoom-trigger{display:grid;place-items:center;width:fit-content;max-width:100%;margin:0 auto;background:transparent}.project-media-card img,.project-media-card video{width:auto;height:auto;max-width:100%;max-height:76vh;object-fit:contain;background:transparent;margin:0 auto}.project-media-card figcaption{width:100%;padding:.45rem 0 .1rem}.project-intro{width:min(100%,1120px);margin:0 auto 1.55rem;text-align:center}.project-caption{text-align:right;color:var(--muted)}.project-block-text{margin-top:.6rem;text-align:center;text-transform:none;letter-spacing:.02em;font-weight:700;overflow-wrap:anywhere}.about-hero{display:grid;gap:1.35rem;width:min(100%,1120px)}.about-hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:2rem;align-items:start}.about-hero-copy{min-width:0}.about-instagram-link{display:inline-flex;margin:0 0 1rem;color:var(--muted);text-decoration:underline;text-underline-offset:.22rem}.about-hero-image{width:min(100%,360px);justify-self:end;overflow:hidden;border-radius:22px;background:var(--surface);aspect-ratio:4 / 5}.about-hero-image img{width:100%;height:100%;object-fit:cover}.about-cv{margin-top:2.4rem}.about-contact-card h3{margin:0;font-family:Sora,Manrope,sans-serif;font-size:1.2rem;font-weight:500}.about-cv-list{display:grid;gap:1rem}.about-section-heading{padding:0;font-family:Sora,Manrope,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.about-cv-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1rem;padding:0}.about-cv-period{color:var(--muted);font-family:Sora,Manrope,sans-serif;font-size:.95rem;line-height:1.5}.about-cv-content{min-width:0}.about-contact-teaser{width:min(100%,920px);margin-top:2.4rem;padding:1.3rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.about-contact-teaser h3{margin:0;font-family:Sora,Manrope,sans-serif;font-size:1.2rem;font-weight:500}.about-contact-card{width:min(100%,920px);margin-top:2.4rem;padding:1.3rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc)}.about-contact-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.about-contact-header a{color:var(--muted);text-decoration:underline;text-underline-offset:.22rem}.notice-error-inline{margin:.75rem 0 0;padding:.65rem .75rem;border:1px solid #9e2d2d;border-radius:12px;color:#7a1f1f;background:#fff5f5}.about-contact-intro{margin-top:.85rem;max-width:68ch;color:var(--muted)}.about-contact-form{display:grid;gap:.85rem;margin-top:1rem}.contact-page{width:min(100%,920px)}.contact-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.contact-social-link{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.contact-social-link:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000014;opacity:.9}.contact-social-link svg{width:20px;height:20px;fill:currentColor}.contact-card{margin-top:1.2rem}.admin-back-button{margin-bottom:1rem}.legal-page{width:min(100%,860px)}.legal-section+.legal-section{margin-top:1.5rem}.legal-section h3{margin:0 0 .55rem;font-family:Sora,Manrope,sans-serif;font-size:1.05rem;font-weight:500}.legal-section p{margin:0;line-height:1.65;color:var(--text)}.legal-section p+p{margin-top:.8rem}.admin-card{border:1px solid #d9e4f3;background:linear-gradient(180deg,#fbfdff,#f4f9ff);border-radius:16px;padding:1.1rem;margin-bottom:1rem;box-shadow:0 8px 24px #0f2f550f}.admin-grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.admin-grid .full{grid-column:1 / -1}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.mini-list{display:grid;gap:.7rem}.mini-list--compact{gap:.45rem}.mini-item{border:1px solid #d9e4f3;background:#fff;padding:.7rem;border-radius:12px}.mini-item--compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.45rem .65rem}.mini-item-index{min-width:1.8rem;color:var(--admin-blue);font-weight:700;font-size:.88rem}.mini-item-subtitle{color:#666;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-item-actions{justify-self:end}.mini-item--compact .button-link{padding:.35rem .65rem;font-size:.84rem}.admin-media-item{padding:.75rem}.admin-media-item-layout{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:.9rem;align-items:start}.admin-media-item-preview{width:100%;border:1px solid #dbe6f7;border-radius:12px;overflow:hidden;background:#f7faff}.admin-media-item-preview img,.admin-media-item-preview video{width:100%;max-height:340px;object-fit:contain;background:#fff}.admin-media-item-editor{display:grid;gap:.65rem;min-width:0}.admin-media-item-position{margin:0;color:var(--admin-blue);font-size:.88rem;font-weight:700;letter-spacing:.03em}.admin-media-item-actions{margin:.5rem 0 0}.admin-media-item-actions button{min-width:190px}.draggable-item{cursor:grab}.draggable-item:active{cursor:grabbing}.mobile-nav-fab,.mobile-nav-backdrop,.mobile-nav-sheet{display:none}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:400;display:grid;place-items:center;padding:1rem}.lightbox-image{width:min(100%,1200px);max-height:calc(100vh - 2.5rem);object-fit:contain;border-radius:10px}.lightbox-close{position:fixed;right:1rem;top:1rem;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#0a0a0aa6;font-size:1rem}.admin-card--auth{max-width:460px}.admin-label{display:grid;gap:.35rem;font-size:.95rem}.admin-topbar{border:1px solid #d2e0f5;border-radius:16px;padding:.8rem 1rem;margin-bottom:1rem;background:radial-gradient(circle at top right,rgba(28,109,208,.16),transparent 48%),linear-gradient(135deg,#fff,#f2f8ff);display:flex;justify-content:space-between;gap:1rem;align-items:center}.admin-topbar-title{margin:0 0 .3rem;color:var(--admin-ink)}.admin-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.admin-tabs button{border-radius:999px;border:1px solid #c7dbfa;background:#fff;color:var(--admin-ink);padding:.48rem .92rem;font-weight:600}.admin-tabs button.active{background:var(--admin-blue);border-color:var(--admin-blue);color:#fff;box-shadow:0 10px 20px #1c6dd04d}.admin-panel{animation:adminFadeIn .18s ease}.admin-kpi-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-kpi{border:1px solid #d8e6fa;background:#fff;border-radius:12px;padding:.75rem .8rem;display:grid;gap:.35rem}.admin-kpi span{color:var(--muted);font-size:.86rem}.admin-kpi strong{color:var(--admin-ink);font-size:1.35rem}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid #111;background:#111;color:#fff;padding:.5rem .85rem;border-radius:10px;font-size:.92rem}.button-link.ghost{border-color:#c8d8f1;background:#fff;color:var(--admin-ink)}.admin-footnote{border-style:dashed}.admin-project-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.admin-project-card{border:1px solid #d9e4f3;border-radius:14px;padding:1rem;background:linear-gradient(160deg,#fff,#f4f8ff);box-shadow:0 10px 20px #0f2f550d}.admin-project-card h3{margin:0 0 .45rem}.admin-project-card p{margin:0 0 .8rem;color:var(--muted)}.admin-project-order{margin:0 0 .7rem!important;color:var(--admin-blue)!important;font-weight:700;letter-spacing:.03em}.upload-draft-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.8rem}.upload-draft-list{margin-top:.7rem;display:grid;gap:.75rem}.upload-draft-item{border:1px solid #d6e2f5;border-radius:12px;padding:.75rem;background:#fff;display:grid;gap:.8rem;grid-template-columns:150px 1fr}.upload-draft-preview{border-radius:10px;overflow:hidden;border:1px solid #dbe6f7;background:#eaf2ff;min-height:110px}.upload-draft-preview img,.upload-draft-preview video{width:100%;height:120px;object-fit:cover;display:block}.upload-draft-file{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:.6rem;color:var(--admin-ink);font-size:.87rem}.upload-draft-meta{display:grid;gap:.45rem}.upload-draft-order{margin:0;color:var(--admin-blue);font-weight:700}.upload-draft-name{margin:0;color:#5e6d81;font-size:.89rem;overflow-wrap:anywhere}.admin-field-hint{margin:.2rem 0 0;color:var(--muted);font-size:.84rem}.admin-about-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.admin-about-image-preview{width:150px;flex:0 0 auto;overflow:hidden;border-radius:14px;border:1px solid #dbe6f7;background:#fff}.admin-about-image-preview img{width:100%;height:190px;object-fit:cover}.admin-about-media-actions{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.admin-inline-form{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.admin-about-timeline{display:grid;gap:.8rem;margin-top:1.1rem}.admin-about-timeline-list{display:grid;gap:.75rem}.admin-about-timeline-row{display:grid;grid-template-columns:minmax(190px,240px) minmax(160px,220px) minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.8rem;border:1px solid #d9e4f3;border-radius:12px;background:#fff}@keyframes adminFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 920px){.shell{grid-template-columns:1fr}.admin-shell .sidebar{border-right:0;border-bottom:1px solid var(--line);position:static;height:auto}.content{padding:1.2rem 1rem}.public-shell .sidebar{display:none}.public-shell .content{padding:1.1rem .9rem 5.6rem}.page-title{font-size:1.55rem}.main-mobile-title{display:block}.page-subtitle{font-size:.96rem;margin-bottom:1rem}.overview-grid{gap:.75rem;grid-template-columns:1fr}.overview-card .media-frame{height:min(72vw,360px)}.media-grid{grid-template-columns:1fr;gap:.85rem}.media-card img,.media-card video{height:auto;max-height:70vh}.project-media-card{max-width:100%}.project-media-card img,.project-media-card video{max-height:68vh}.project-intro{margin-bottom:1.2rem}.about-hero{gap:1rem}.about-hero-top{grid-template-columns:minmax(0,1fr) minmax(120px,180px);gap:1rem;align-items:start}.about-hero-image{justify-self:end;width:min(100%,180px)}.about-cv-row{grid-template-columns:1fr;gap:.45rem}.about-contact-teaser,.about-contact-header{flex-direction:column;align-items:flex-start}.contact-header{align-items:center}.mobile-nav-fab{display:inline-flex;position:fixed;right:1rem;bottom:1rem;z-index:340;border-radius:999px;width:52px;height:52px;padding:0;align-items:center;justify-content:center;background:#121212;color:#fff;border:1px solid #121212;box-shadow:0 12px 28px #00000042}.mobile-nav-fab.open{opacity:1;background:#121212;border-color:#121212}.hamburger-icon{display:grid;gap:5px;width:22px}.hamburger-line{display:block;width:100%;height:2px;border-radius:999px;background:#fff;transform-origin:center;transition:transform .18s ease,opacity .16s ease}.mobile-nav-fab.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-nav-fab.open .hamburger-line:nth-child(2){opacity:0}.mobile-nav-fab.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000042;z-index:329;opacity:0;pointer-events:none;transition:opacity .13s ease}.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}.mobile-nav-sheet{display:flex;flex-direction:column;gap:.5rem;position:fixed;right:.8rem;bottom:4.4rem;width:min(88vw,380px);height:min(70vh,560px);max-height:min(70vh,560px);overflow:hidden;border:0;border-radius:16px;background:#fff;padding:.85rem;z-index:330;opacity:0;pointer-events:none;transform:translateY(6px) scale(.98);transition:opacity .13s ease,transform .13s ease;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:0 16px 34px #00000024}.mobile-nav-sheet.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.mobile-nav-title{display:block;margin:0;font-family:Sora,Manrope,sans-serif;font-size:1.02rem;letter-spacing:.07em;text-transform:uppercase}.mobile-nav-header{display:grid;gap:.45rem;flex:0 0 auto}.mobile-nav-section-title{margin:0;color:var(--muted);font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}.mobile-nav-projects-scroll{flex:1 1 auto;min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:.1rem}.mobile-nav-empty{display:block;padding:.45rem .12rem;color:var(--muted)}.mobile-nav-link,.mobile-nav-project{display:grid;gap:.2rem;padding:.52rem .12rem;border-bottom:0}.mobile-nav-link.active,.mobile-nav-project.active{font-weight:700}.mobile-nav-link--about{flex:0 0 auto;margin-top:.2rem;padding-top:.65rem;border-top:1px solid #e4e9ef}.mobile-nav-page-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.2rem;padding-top:.65rem;border-top:1px solid #e4e9ef}.mobile-nav-link--page{padding-top:0;padding-bottom:.35rem}.mobile-nav-link--page-right{text-align:right}.mobile-nav-legal-stack{display:grid;gap:.1rem;justify-items:start}.mobile-nav-link--legal{padding-top:.2rem;padding-bottom:.2rem}.mobile-nav-project small{color:var(--muted)}.admin-grid{grid-template-columns:1fr}.admin-topbar{flex-direction:column;align-items:flex-start}.admin-tabs{overflow-x:auto;padding-bottom:.2rem;flex-wrap:nowrap}.admin-tabs button{white-space:nowrap}.upload-draft-header{align-items:flex-start;flex-direction:column}.upload-draft-item{grid-template-columns:1fr}.admin-about-header,.admin-about-media-actions,.admin-inline-form{flex-direction:column;align-items:stretch}.admin-about-timeline-row{grid-template-columns:1fr}.mini-item--compact{grid-template-columns:auto minmax(0,1fr)}.mini-item-actions{grid-column:1 / -1;justify-self:start}.admin-media-item-layout{grid-template-columns:1fr}}
