*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body, "Lora", "Georgia", serif);background:linear-gradient(145deg,var(--color-bg),var(--color-bg-alt));background-attachment:fixed;color:var(--color-text);line-height:1.75;min-height:100vh;margin:0;padding:0;display:flex;flex-direction:column}.container{width:92%;max-width:1200px;margin:0 auto;padding:2rem 0}p{font-size:1.125rem;line-height:1.8;color:var(--color-text-muted, #555);margin-bottom:1.5rem}a{color:var(--color-river-blue, #1e3f66);font-weight:500;text-decoration:none;transition:color .3s ease,text-decoration .3s ease}a:hover{color:var(--color-sunset-gold, #d4af37);text-decoration:underline}.fade-in{opacity:0;animation:fadeIn 1s ease forwards}@keyframes fadeIn{to{opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.header{position:relative;width:100%;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-river)}.header-image{width:100%;height:100%;object-fit:cover;filter:brightness(70%) contrast(1.05) saturate(1.08);transform:scale(1.05);transition:transform 12s ease}.header:hover .header-image{transform:scale(1.12)}.header-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at bottom,#1e3f668c,#000000bf 85%);display:flex;align-items:center;justify-content:center;z-index:1}.header-content{text-align:center;color:var(--white);max-width:960px;padding:2rem;animation:fadeInUp 1.4s ease forwards}.header-title{font-family:var(--font-heading);font-size:clamp(3rem,6vw,5.6rem);text-transform:uppercase;letter-spacing:6px;margin-bottom:1rem;background:linear-gradient(120deg,var(--color-sunset-gold),var(--color-arch-silver),var(--color-sunset-gold));background-size:300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:2px 2px 8px rgba(0,0,0,.7);animation:shimmer 10s linear infinite}.header-subtitle{font-family:var(--font-body);font-size:1.4rem;letter-spacing:.5px;color:var(--color-bg-alt);margin-bottom:2.5rem;opacity:.9}.scroll-cue{background:none;border:none;color:var(--color-sunset-gold);cursor:pointer;animation:float 2.5s ease-in-out infinite;transition:transform .3s ease,color .3s ease}.scroll-cue:hover{transform:scale(1.2);color:var(--color-arch-silver)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header{height:70vh}.header-title{font-size:clamp(2.2rem,6vw,3.4rem);letter-spacing:3px}.header-subtitle{font-size:1.2rem}.scroll-cue svg{width:28px;height:28px}}.intro{position:relative;width:100%;padding:6rem 2rem;background:linear-gradient(160deg,var(--color-bg),var(--color-bg-alt));border-top:4px solid var(--color-sunset-gold);text-align:center;overflow:hidden;z-index:0;animation:fadeInIntro 1s ease forwards}.intro:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(212,175,55,.06),transparent 70%);z-index:-1}.intro-title{font-family:var(--font-heading);font-size:clamp(2.6rem,5vw,4rem);margin-bottom:1.8rem;text-transform:uppercase;letter-spacing:2px;background:linear-gradient(45deg,var(--color-sunset-gold),var(--color-arch-silver),#fff8d6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}.intro-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60%;height:3px;background:linear-gradient(to right,var(--color-sunset-gold),var(--color-arch-silver),var(--color-sunset-gold));background-size:200% auto;border-radius:2px;animation:shimmer 6s linear infinite}.intro-lead{max-width:800px;margin:0 auto;z-index:1;position:relative}.intro p{font-family:Lora,serif;font-size:1.3rem;line-height:1.85;color:var(--color-text);margin:1.2rem auto 0;padding:1.2rem 1.5rem;background:#ffffffeb;border-radius:12px;box-shadow:0 6px 18px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.intro p:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014}.intro-scroll-cue{width:26px;height:46px;border:2px solid var(--color-sunset-gold);border-radius:20px;position:relative;margin:2.5rem auto 0;box-shadow:0 0 6px #d4af3780;transition:border-color .3s ease,box-shadow .3s ease}.intro-scroll-cue:hover{border-color:var(--color-arch-silver);box-shadow:0 0 8px #b4b4b499}.intro-scroll-cue:before{content:"";position:absolute;top:8px;left:50%;width:4px;height:4px;background:var(--color-sunset-gold);border-radius:50%;transform:translate(-50%);animation:scrollDot 1.5s infinite}@keyframes fadeInIntro{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollDot{0%{transform:translate(-50%);opacity:1}50%{transform:translate(-50%,14px);opacity:.6}to{transform:translate(-50%);opacity:1}}@media (max-width: 768px){.intro{padding:3rem 1rem}.intro-title{font-size:2.2rem}.intro p{font-size:1.1rem;padding:1rem}}.fun-facts{position:relative;padding:6rem 3rem;background:linear-gradient(160deg,var(--color-bg-alt),var(--color-bg));border-top:6px double var(--color-sunset-gold);text-align:center;overflow:hidden}.fun-facts-heading{font-family:var(--font-heading);font-size:clamp(2.6rem,5vw,4rem);color:#4b2a0a;margin-bottom:3rem;text-transform:uppercase;letter-spacing:2px;position:relative}.fun-facts-heading:after{content:"";display:block;height:4px;margin-top:.6rem;background:linear-gradient(to right,var(--color-sunset-gold),var(--color-arch-silver),var(--color-sunset-gold));background-size:200% auto;border-radius:2px;animation:shimmer 6s linear infinite}.fact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;z-index:1}.fact-item{background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:2rem;border:1px solid rgba(212,175,55,.2);box-shadow:0 10px 28px #00000014;transition:transform .3s ease,box-shadow .3s ease}.fact-item:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000001f}.fact-title{font-family:var(--font-heading);font-size:1.8rem;color:#3a1f00;margin-bottom:1rem}.fact-description{font-family:var(--font-bdoy);font-size:1.2rem;line-height:1.8;color:var(--color-text);margin-bottom:1.5rem}.fact-sources{display:flex;flex-wrap:wrap;gap:.5rem}.source-link{background:var(--color-bg-alt);color:#7b4e1d;padding:.3rem .7rem;border-radius:20px;font-size:.95rem;text-decoration:none;transition:background .3s ease,color .3s ease}.source-link:hover{background:var(--color-sunset-gold);color:var(--white)}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}.fade-in-delay{opacity:0;animation:fadeUp .8s ease forwards}.fact-item:nth-child(odd){animation-delay:.1s}.fact-item:nth-child(2n){animation-delay:.3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.fun-facts{padding:3rem 1.5rem}.fact-title{font-size:1.5rem}.fact-description{font-size:1.05rem}}.interactive{padding:5rem 2rem;background:linear-gradient(135deg,var(--color-bg-alt),var(--color-bg));text-align:center}.interactive-title{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,3.5rem);color:#4b2a0a;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1.5px}.interactive-subtitle{font-family:var(--font-body);font-size:1.2rem;color:var(--color-text-muted);margin-bottom:2.5rem}.interactive-button{background:linear-gradient(120deg,var(--color-sunset-gold),#fff3b0);color:var(--white);font-size:1.2rem;padding:1rem 2.4rem;border:none;border-radius:50px;cursor:pointer;font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:1px;box-shadow:0 6px 20px #d4af374d;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.interactive-button:hover{transform:translateY(-2px);box-shadow:0 10px 28px #d4af3766;background:linear-gradient(120deg,var(--color-sunset-gold),#fff4c2)}.interactive-fact-display{margin-top:3rem;max-width:800px;margin-left:auto;margin-right:auto;padding:2rem;background:#ffffffd9;border:1px solid rgba(212,175,55,.25);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);animation:fadeInCard .5s ease-in-out}.fact-title{font-family:var(--font-heading);font-size:1.8rem;color:#4b2a0a;margin-bottom:.8rem}.fact-description{font-family:var(--font-body);font-size:1.2rem;line-height:1.75;color:var(--color-text)}@keyframes fadeInCard{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;animation:fadeInCard .6s ease forwards}@media (max-width: 768px){.interactive{padding:3rem 1.2rem}.interactive-button{font-size:1rem;padding:.8rem 1.8rem}.fact-title{font-size:1.5rem}.fact-description{font-size:1.05rem}}.footer{background:linear-gradient(160deg,var(--color-bg-alt),var(--color-bg));color:var(--color-text-muted);padding:4rem 2rem 2rem;border-top:4px solid var(--color-sunset-gold);font-family:var(--font-body);text-align:center;position:relative}.footer-container{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:2rem}.footer-text{font-size:1.2rem;max-width:800px;color:var(--color-text-muted);font-style:italic;line-height:1.6}.footer-links{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center}.footer-link{font-size:1rem;font-weight:500;padding:.7rem 1.5rem;border:1px solid var(--color-sunset-gold);border-radius:var(--border-radius);background:transparent;color:var(--color-text);text-decoration:none;position:relative;overflow:hidden;transition:all .3s ease}.footer-link:hover{background:var(--color-sunset-gold);color:var(--white);transform:translateY(-2px);box-shadow:0 6px 14px #00000026}.footer-back-to-top{font-weight:700;background:var(--color-sunset-gold);color:var(--white)}.footer-back-to-top:hover{background:#b38e25}.footer-copy{font-size:.85rem;color:#6a5840}@media (max-width: 768px){.footer{padding:3rem 1rem 1.5rem}.footer-text{font-size:1rem}.footer-link{padding:.6rem 1.2rem}}:root{--color-arch-silver: #c0c0c0;--color-river: #1e3f66;--color-forest-green: #3b6b4c;--color-brick-red: #8b2e2e;--color-sunset-gold: #d4af37;--color-cloud: #fafaf7;--color-charcoal: #2c2c2c;--color-bg: var(--color-cloud);--color-bg-alt: #f1ede7;--color-text: var(--color-charcoal);--color-text-muted: #555;--white: #ffffff;--shadow: 0 10px 28px rgba(0, 0, 0, .08);--border-radius: 20px;--transition: .3s ease;--font-heading: "Playfair Display", "Garamond", serif;--font-body: "Lora", "Georgia", serif}[data-theme=dark]{--color-bg: #1c1c1c;--color-bg-alt: #292929;--color-text: #f6f6f6;--color-text-muted: #c2c2c2;--shadow: 0 10px 32px rgba(255, 255, 255, .05)}#root{background:var(--color-bg);margin:0;padding:0;font-family:var(--font-body);color:var(--color-text);transition:background var(--transition),color var(--transition)}.main-content>section{background:var(--color-bg);margin:0;padding:0;font-family:var(--body-font);color:var(--color-text);transition:background var(--transition),color var(--transition)}.main-content>section:nth-of-type(2n){background:linear-gradient(145deg,var(--color-bg-alt),var(--color-bg))}h1,h2,h3{font-family:var(--font-heading);font-weight:700;margin:0 0 1rem;line-height:1.2}h1{font-size:clamp(2.6rem,5vw,4rem);color:var(--color-river-blue);text-transform:uppercase;letter-spacing:2px;text-shadow:1px 1px 0 var(--color-arch-silver)}h2{font-size:clamp(1.8rem,4vw,2.4rem);color:var(--color-sunset-gold);border-bottom:3px solid var(--color-sunset-gold);display:inline-block;padding-bottom:.4rem}h3{font-size:1.5rem;color:var(--color-brick-red)}button{background:linear-gradient(135deg,var(--color-sunset-gold),#b8860b);color:var(--white);border:none;padding:.9rem 2rem;font-size:1rem;font-family:var(--font-heading);font-weight:600;border-radius:50px;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 14px #00000026;transition:transform var(--transition),background var(--transition)}button:hover{background:linear-gradient(135deg,#b8860b,#8a6e1a);transform:scale(1.05) translateY(-2px)}button:focus-visible,a:focus-visible{outline:3px solid var(--color-sunset-gold);outline-offset:3px}
