@tailwind base;@tailwind components;@tailwind utilities;:root{--color-ivory: #FAF8F5;--color-cream: #F5F2ED;--color-parchment: #EDE8E0;--color-ink: #1A1A1A;--color-ink-light: #525252;--color-rule: #D4CFC6;--color-burgundy: #722F37;--color-navy: #1B365D;--color-gold: #B8860B;--color-left: #B91C1C;--color-center: #6B21A8;--color-right: #1D4ED8;--font-display: "Cormorant Garamond", Georgia, serif;--font-serif: "Source Serif 4", Georgia, serif;--font-sans: "DM Sans", system-ui, sans-serif;--space-gutter: 2rem;--space-column: 1.5rem}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-ivory);color:var(--color-ink);line-height:1.6}::selection{background-color:var(--color-burgundy);color:var(--color-ivory)}::-moz-selection{background-color:var(--color-burgundy);color:var(--color-ivory)}.font-display{font-family:var(--font-display)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.drop-cap:first-letter{float:left;font-family:var(--font-display);font-size:4.5rem;line-height:.75;padding-right:.625rem;padding-top:.375rem;font-weight:600;color:var(--color-burgundy)}.pull-quote{font-family:var(--font-display);font-style:italic;font-size:1.75rem;line-height:1.35;border-left:4px solid var(--color-burgundy);padding-left:1.5rem;margin:2.5rem 0;color:var(--color-ink-light)}.rule-ornament{display:flex;align-items:center;gap:1rem;margin:2rem 0}.rule-ornament:before,.rule-ornament:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-rule),transparent)}.rule-ornament-diamond:before,.rule-ornament-diamond:after{content:"";flex:1;height:1px;background:var(--color-rule)}.masthead-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.elegant-scrollbar::-webkit-scrollbar{width:6px;height:6px}.elegant-scrollbar::-webkit-scrollbar-track{background:var(--color-cream)}.elegant-scrollbar::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:3px}.elegant-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-ink-light)}.column-divider{position:relative}.column-divider:after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background-color:var(--color-rule)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .7s ease-out forwards}.animate-slide-in-left{animation:slideInFromLeft .5s ease-out forwards}.stagger-1{animation-delay:.1s;opacity:0}.stagger-2{animation-delay:.15s;opacity:0}.stagger-3{animation-delay:.2s;opacity:0}.stagger-4{animation-delay:.25s;opacity:0}.stagger-5{animation-delay:.3s;opacity:0}.stagger-6{animation-delay:.35s;opacity:0}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-3px);box-shadow:0 12px 40px #00000014}.hover-underline{position:relative}.hover-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--color-burgundy);transition:width .3s ease}.hover-underline:hover:after{width:100%}input:focus,button:focus,a:focus{outline:2px solid var(--color-burgundy);outline-offset:2px}@media print{body{background:#fff;color:#000;font-size:12pt}.no-print{display:none!important}a{text-decoration:underline}h1,h2,h3,h4{page-break-after:avoid}article{page-break-inside:avoid}}@media(max-width:640px){html{font-size:15px}.drop-cap:first-letter{font-size:3.5rem}.pull-quote{font-size:1.375rem;padding-left:1rem}}@media(min-width:1280px){html{font-size:17px}}
