@font-face{font-family:Portfolio Inter;src:url('/assets/fonts/inter-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Portfolio Noto Sans;src:url('/assets/fonts/notosanssc-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--portfolio-sans:'Portfolio Inter','Portfolio Noto Sans',sans-serif;--sans:var(--portfolio-sans);--serif:var(--portfolio-sans)}
html{font-synthesis:none}body{font-family:var(--portfolio-sans);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
body :where(h1,h2,h3,h4,h5,p,a,button,input,textarea,select,label,summary,small,span,div,th,td,li){font-family:var(--portfolio-sans)!important}
body :where(code,pre,kbd,samp),body pre *{font-family:ui-monospace,monospace!important}
.identity strong,.footer-brand{font-weight:650;letter-spacing:-.055em}
.intro-copy h1,.process-copy h2,.light-copy h2{font-weight:550;letter-spacing:-.045em;line-height:1.3}
.gallery-info h2{font-weight:600;letter-spacing:-.04em}.library-intro h1{font-weight:550}
.catalog-update{position:fixed;z-index:100;top:100px;left:50%;transform:translateX(-50%);padding:14px 22px;border:1px solid #c3d6df55;border-radius:99px;background:#eaf3f9;color:#122b3d;font-size:13px;box-shadow:0 8px 36px #0004;max-width:90vw;cursor:pointer}

/* Public contact entry: separate from local-only management. */
.contact-entry{position:relative;flex:none;color:#eff7fa;font-family:var(--sans, sans-serif);font-size:14px;font-weight:500;text-shadow:none}
.contact-entry>summary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 19px;border:1px solid #b8d9e74d;border-radius:28px;cursor:pointer;list-style:none;white-space:nowrap;background:#a8d7ea12;transition:background .2s,border-color .2s}
.contact-entry>summary::-webkit-details-marker{display:none}
.contact-entry>summary:hover,.contact-entry[open]>summary{background:#a8d7ea26;border-color:#ccecf680}
.contact-entry>summary:focus-visible,.contact-panel a:focus-visible{outline:2px solid #a6e0ef;outline-offset:4px}
.contact-panel{position:absolute;right:0;top:calc(100% + 14px);width:290px;padding:22px 24px;border:1px solid #bbd9e32b;border-radius:16px;background:#071923fa;box-shadow:0 18px 50px #0005;color:#f2f8fb;z-index:90;letter-spacing:normal}
.contact-caption{display:block;font-size:12px;color:#a4bbc5;margin-bottom:12px;letter-spacing:.12em}
.contact-panel a{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:18px;font-weight:500;color:inherit;text-decoration:none;white-space:nowrap;user-select:text}
.contact-panel a:hover{opacity:1!important;color:#b3e8fa}
.contact-floating{position:fixed;right:24px;bottom:24px;z-index:80}
.contact-floating>summary{background:#081b14eb;border-color:#78d6a74d;box-shadow:0 4px 24px #0004;backdrop-filter:blur(16px)}
.contact-floating .contact-panel{top:auto;bottom:calc(100% + 12px);background:#071b13fa}
@media(max-width:1050px){.site-header nav{gap:18px!important}.site-header .nav-all{display:none!important}}
@media(max-width:760px){.site-header .nav-practice,.site-header .nav-selected{display:none!important}.site-header nav{gap:12px!important}.site-header .identity>span{display:none}.contact-entry{font-size:13px}.contact-entry>summary{min-height:42px;padding:0 15px;gap:8px}.contact-panel{width:270px;padding:20px}.contact-floating{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}
