*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-page: #EDEDED;--bg-light: #FAFAFA;--bg-alt: #F0F0F0;--bg-dark: #1a1a1a;--text-primary: #1A1A1A;--text-secondary: #4A4A4A;--text-muted: #6A6A6A;--text-light: #e0e0e0;--accent: #b94a42;--accent-light: rgba(185, 74, 66, .12);--accent-soft: rgba(185, 74, 66, .06);--border-subtle: rgba(0, 0, 0, .08);--display: "Playfair Display", Georgia, serif;--body: "Source Serif 4", "Source Serif Pro", Georgia, serif;--sans: "Inter", system-ui, -apple-system, sans-serif;--content-width: 1200px;--reading-width: 680px}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--bg-page);color:var(--text-primary);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}.section{padding:120px 48px;max-width:var(--content-width);margin:0 auto}.section-inner{max-width:var(--reading-width);margin:0 auto}.section--alt{background:var(--bg-alt)}.section--light{background:var(--bg-light)}.section--dark{background:var(--bg-dark);color:var(--text-light)}.section--alt,.section--light,.section--dark{max-width:none}.section--alt>.section-inner,.section--light>.section-inner,.section--dark>.section-inner{max-width:var(--reading-width)}.section-number{font-family:var(--display);font-size:64px;font-weight:400;color:var(--accent);opacity:.12;line-height:1;margin-bottom:8px}.section--dark .section-number{color:var(--accent);opacity:.2}.section-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.section--dark .section-label{color:#b94a42cc}.section h2{font-family:var(--display);font-size:clamp(28px,3.5vw,42px);font-weight:400;line-height:1.2;letter-spacing:-.015em;margin-bottom:48px;color:var(--text-primary)}.section--dark h2{color:var(--text-light)}.section p{font-family:var(--body);margin-bottom:20px;color:var(--text-secondary);font-size:18px;line-height:1.8}.section--dark p{color:#e0e0e0bf}.section p strong{color:var(--text-primary);font-weight:600}.section--dark p strong{color:#fff}.section p a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);transition:opacity .15s}.section p a:hover{opacity:.7}.lead{font-family:var(--body);font-size:20px;line-height:1.75;color:var(--text-primary)!important}.canvas-illustration{position:relative;width:100%;max-width:600px;margin:56px auto;aspect-ratio:5 / 3;border-radius:12px;overflow:hidden;background:var(--bg-page)}.canvas-illustration canvas{position:absolute;inset:0;width:100%;height:100%}.canvas-illustration .caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-family:var(--display);font-size:13px;font-style:italic;color:var(--accent);opacity:.5;pointer-events:none}.callout{margin-top:48px;padding:32px;background:#b94a420a;border-radius:4px;border-left:2px solid var(--accent)}.callout p{margin-bottom:0;font-size:16px}.closing-line{font-family:var(--display);font-size:clamp(22px,3vw,34px);font-weight:400;line-height:1.35;color:var(--text-primary);text-align:center;max-width:600px;margin:0 auto;letter-spacing:-.01em}.footer{text-align:center;padding:48px 24px;font-family:var(--sans);font-size:13px;color:var(--text-muted);background:var(--bg-page);border-top:1px solid var(--border-subtle)}.footer a{color:var(--accent);text-decoration:none}.credits{max-width:var(--reading-width);margin:0 auto;padding-top:48px}.credits p{font-family:var(--sans);font-size:14px;line-height:1.7;color:var(--text-muted);text-align:center}.credits a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:color .15s}.credits a:hover{color:var(--accent)}.fade-up{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up-delay-1{transition-delay:.1s}.fade-up-delay-2{transition-delay:.2s}.fade-up-delay-3{transition-delay:.3s}.fade-up-delay-4{transition-delay:.4s}@media(max-width:1024px){.section{padding:100px 32px}.section-number{font-size:48px}}@media(max-width:768px){.section{padding:80px 24px}.hero-content{padding:0 24px}.section-number{font-size:40px}}@media(max-width:480px){.section{padding:64px 20px}.hero-content{padding:0 20px}.section-number{font-size:36px}.callout{padding:24px}}
