*{box-sizing:border-box}html,body{margin:0;padding:0}:root{--bg:#FAFBFC;--bg-alt:#F2F3F5;--surface:#FFFFFF;--text:#12151A;--muted:#5B626D;--faint:#8A909A;--line:#E6E8EC;--line-soft:#EEF0F3;--accent:#2F5BA8;--shadow:rgba(16,20,30,.22);--strip-a:#EDEFF2;--strip-b:#E5E8ED;--accent-soft:#E9F0FB;--inverse-bg:#0F1216;--inverse-surface:#171B20;--inverse-line:#262B32;--inverse-text:#F3F4F6;--inverse-muted:#A8AEB8;--navbg:rgba(250,251,252,.82)}[data-theme=dark]{--bg:#0D0F13;--bg-alt:#14171C;--surface:#14171C;--text:#ECEEF1;--muted:#9BA2AD;--faint:#6B727C;--line:#252A31;--line-soft:#1C2026;--accent:#6FA0E8;--accent-soft:#182333;--shadow:rgba(0,0,0,.55);--strip-a:#1B1F25;--strip-b:#15191E;--inverse-bg:#06080B;--inverse-surface:#10141A;--inverse-line:#1C222A;--inverse-text:#F3F4F6;--inverse-muted:#9BA2AD;--navbg:rgba(13,15,19,.82)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#fafbfc;font-family:Schibsted Grotesk,system-ui,sans-serif}::selection{background:var(--accent);color:#fff}button{transition:border-color .2s,transform .2s,box-shadow .2s,color .2s,opacity .2s,background .2s,padding .2s}a{transition:border-color .2s,transform .2s,padding .2s,background .2s,color .2s}.nav-link:hover{color:var(--text)}.theme-toggle:hover{border-color:var(--text)}.btn-solid:hover{opacity:.88}.btn-ghost-muted:hover{color:var(--text)}.btn-ghost-line:hover{border-color:var(--text)}.card-hover:hover{border-color:var(--text);transform:translateY(-3px);box-shadow:0 18px 40px -24px var(--shadow)}.card-hover-sm:hover{border-color:var(--text);transform:translateY(-3px)}.contact-link:hover{border-color:#3a424c}.archive-row:hover{padding-left:14px;padding-right:14px;background:var(--bg-alt)}.artifact-frame:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px var(--shadow)}.footer-link:hover{color:var(--text)}.cesar-map-marker{position:relative;display:block}.cesar-map-marker-dot{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #0006;display:block;transform-origin:center;animation:cesar-marker-wiggle 2.6s ease-in-out infinite}.cesar-map-marker-pulse{position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;opacity:.55;display:block;animation:cesar-marker-pulse 1.8s cubic-bezier(.2,.6,.4,1) infinite}.cesar-map-marker:hover .cesar-map-marker-dot{animation:cesar-marker-wiggle-hover .5s ease-in-out}@keyframes cesar-marker-pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.4);opacity:0}}@keyframes cesar-marker-wiggle{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-8deg) scale(1.05)}75%{transform:rotate(8deg) scale(1.05)}}@keyframes cesar-marker-wiggle-hover{0%,to{transform:rotate(0) scale(1.3)}25%{transform:rotate(-18deg) scale(1.3)}75%{transform:rotate(18deg) scale(1.3)}}.glow-btn{animation:cesar-glow 2.4s ease-in-out infinite}.glow-btn:hover{animation-play-state:paused;transform:scale(1.04)}@keyframes cesar-glow{0%,to{box-shadow:0 0 #2f5ba873,0 4px 14px #2f5ba840}50%{box-shadow:0 0 0 14px #2f5ba800,0 4px 22px #2f5ba866}}.gallery-cheerful figure,.gallery-cheerful .card-hover-sm{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.gallery-cheerful figure:hover,.gallery-cheerful .card-hover-sm:hover{transform:translateY(-6px) rotate(-1deg)}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g-split{grid-template-columns:.85fr 1.15fr}.g-split2{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.about-photo-col{position:sticky;top:108px;align-self:start}@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.g-split,.g-split2{grid-template-columns:1fr}.about-photo-col{position:static;top:auto;max-width:340px;margin:0 auto}}@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}section{padding-left:20px!important;padding-right:20px!important}}.mobile-menu-btn{display:none}@media (max-width:860px){.desktop-nav-only{display:none!important}.mobile-menu-btn{display:flex!important}}.fill-sweep{position:relative;overflow:hidden;z-index:0;transition:color .3s}.fill-sweep:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform:translate(-100%);transition:transform .3s ease;z-index:-1}.fill-sweep:hover{color:#fff}.fill-sweep:hover:before{transform:translate(0)}
