.publication-page{padding-top:140px;padding-bottom:100px;background-color:var(--color-white);min-height:100vh}.publication-page .container{max-width:1400px;margin:0 auto;padding:0 24px}.pub-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);align-items:start}@media(min-width:1024px){.pub-grid{grid-template-columns:5fr 7fr;gap:5rem}}.pub-visual{position:relative;width:100%;max-width:100%;margin:0 auto;animation:fadeUp 1s cubic-bezier(.16,1,.3,1) forwards}@media(min-width:1024px){.pub-visual{position:sticky;top:140px}}.pub-image-wrapper{position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-sm);z-index:2;box-shadow:0 20px 40px #00000014}.pub-image-wrapper img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.05);transition:transform 1.5s ease-out;display:block}.pub-visual:hover .pub-image-wrapper img{transform:scale(1)}.pub-visual-accent{position:absolute;bottom:-30px;left:-30px;width:60%;height:60%;background-color:var(--color-gray-light);z-index:1}.pub-content-area{max-width:100%;z-index:2;animation:fadeUp 1s cubic-bezier(.16,1,.3,1) .2s forwards;opacity:0}.pub-header{text-align:left;margin-bottom:40px;border-bottom:1px solid var(--color-gray-light);padding-bottom:40px}.publication-page .pub-category{display:inline-flex;align-items:center;padding:6px 16px;background-color:var(--color-gray-dark);color:var(--color-gold);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;margin-bottom:24px;text-transform:uppercase;letter-spacing:.15em;box-shadow:0 4px 12px #0000000d}.publication-page .pub-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;margin-bottom:24px;color:var(--color-black);letter-spacing:-.02em}.pub-meta{color:var(--color-gray-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:16px}.pub-meta:before{content:"";display:block;width:30px;height:1px;background-color:var(--color-gold)}.pub-content-body{font-size:1.125rem;line-height:1.9;color:var(--color-gray-dark);font-family:var(--font-body);font-weight:300}.pub-content-body>p:first-of-type:first-letter{font-family:var(--font-heading);font-size:4.5rem;line-height:1;float:left;margin-right:16px;margin-top:8px;color:var(--color-gold);font-weight:600}.pub-content-body h2,.pub-content-body h3{font-family:var(--font-heading);color:var(--color-black);margin-top:2.5em;margin-bottom:1em;line-height:1.3;letter-spacing:-.01em}.pub-content-body h2{font-size:2rem;border-bottom:1px solid var(--color-gray-light);padding-bottom:12px}.pub-content-body h3{font-size:1.5rem}.pub-content-body p{margin-bottom:1.8em}.pub-content-body blockquote{margin:3em 0;padding:2em 3em;background-color:var(--color-white);border-left:4px solid var(--color-gold);border-radius:4px;box-shadow:0 4px 20px #00000008;font-family:var(--font-heading);font-size:1.5rem;font-style:italic;line-height:1.6;color:var(--color-black);position:relative}.pub-content-body ul,.pub-content-body ol{margin-bottom:2em;padding-left:0;list-style:none}.pub-content-body li{margin-bottom:1em;position:relative;padding-left:32px}.pub-content-body ul li:before{content:"";position:absolute;left:0;top:14px;width:12px;height:1px;background-color:var(--color-gold)}.pub-content-body ol{counter-reset:custom-counter}.pub-content-body ol li:before{counter-increment:custom-counter;content:counter(custom-counter) ".";position:absolute;left:0;top:0;color:var(--color-gold);font-family:var(--font-heading);font-weight:600;font-size:1.2em}.pub-content-body strong{font-weight:500;color:var(--color-black)}.pub-back-link{margin-top:80px;padding-top:40px;border-top:1px solid var(--color-gray-light);display:flex;justify-content:flex-start}.back-link{display:inline-flex;align-items:center;gap:16px;padding:16px 32px;background-color:var(--color-white);border:1px solid var(--color-gray-light);border-radius:var(--radius-full);color:var(--color-black);text-decoration:none;font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;transition:all var(--transition-normal)}.back-link:hover{background-color:var(--color-black);color:var(--color-white);border-color:var(--color-black);transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.back-link svg{transition:transform var(--transition-normal)}.back-link:hover svg{transform:translate(-4px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
