/* R.L. Garth - Children's Author Website Styles */*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}body{font-family:'Lora',Georgia,serif;line-height:1.7;font-size:17px;overflow-x:hidden;background:#f8f4ef;/* Removed slow transition - JS interpolation handles smooth color changes */}/* The scroll container */.scroll-journey{position:relative;height:600vh;}/* Fixed viewport for the 3D effect */.viewport{position:fixed;top:0;left:0;width:100%;height:100vh;overflow:hidden;}/* Sky/background gradient */.sky{position:absolute;top:0;left:0;width:100%;height:100%;background:#f8f4ef;z-index:0;}/* Foliage elements */.foliage-item{position:absolute;pointer-events:none;will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0);}.foliage-item img{width:100%;height:100%;object-fit:contain;}/* Content sections */.content-section{position:absolute;top:50%;left:50%;width:100%;display:flex;justify-content:center;align-items:center;padding:20px;opacity:0;transform:translate(-50%,-50%) scale(0.95) translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;z-index:50;pointer-events:none;}.content-section.active{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0);pointer-events:auto;}.content-card{max-width:600px;width:100%;padding:50px;background:rgba(255,255,255,0.9);border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,0.12);backdrop-filter:blur(15px);}.content-card-dark{background:rgba(13,13,20,0.92);box-shadow:0 20px 60px rgba(0,0,0,0.4);}.content-card-sepia{background:rgba(245,240,230,0.95);box-shadow:0 20px 60px rgba(93,78,55,0.25);border:1px solid #c4b49a;}.content-card-sepia h2{color:#5d4e37;}.content-card-sepia p{color:#6b5d4d;}.content-card-sepia .lead{color:#8b7355;}/* Typography */h1{font-family:'Cormorant Garamond',Garamond,serif;font-size:2.8rem;font-weight:600;color:#2d4a3e;letter-spacing:2px;margin-bottom:8px;text-align:center;}.content-card-dark h1{color:#c9b8d4;}h2{font-family:'Cormorant Garamond',Garamond,serif;font-size:1.6rem;font-weight:600;color:#2d4a3e;margin-bottom:20px;text-align:center;}.content-card-dark h2{color:#c9b8d4;}.subtitle{font-family:'Cormorant Garamond',Garamond,serif;font-size:1.1rem;font-style:italic;color:#b8956b;letter-spacing:2px;text-align:center;margin-bottom:25px;}.lead{font-size:1rem;font-style:italic;color:#666;text-align:center;max-width:380px;margin:0 auto;}.content-card-dark .lead{color:#999;}p{color:#3d3d3d;margin-bottom:1em;text-align:justify;}.content-card-dark p{color:#c0c0c0;}/* Author image */.author-image{width:140px;height:140px;border-radius:50%;object-fit:cover;border:4px solid #b8956b;margin:0 auto 20px;display:block;}/* Book cards */.book-card{padding:25px;margin:15px 0;border-radius:6px;border:1px solid;}.book-penelope{background:linear-gradient(135deg,#fefdfb 0%,#f0f8e8 100%);border-color:#a8c896;}.book-bone-eaters{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-color:#4a2c4a;}.book-label{font-family:'Cormorant Garamond',serif;font-size:0.7rem;text-transform:uppercase;letter-spacing:3px;color:#b8956b;margin-bottom:6px;}.book-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;margin-bottom:8px;line-height:1.2;}.book-penelope .book-title{color:#4a7c47;}.book-bone-eaters .book-title{color:#c9b8d4;}.book-age{display:inline-block;font-size:0.65rem;text-transform:uppercase;letter-spacing:2px;color:white;padding:3px 10px;margin-bottom:12px;border-radius:3px;}.book-penelope .book-age{background:#5a7c47;}.book-bone-eaters .book-age{background:#4a2c4a;}.book-description{font-size:0.9rem;line-height:1.6;margin-bottom:8px;}.book-bone-eaters .book-description{color:#b0b0b0;}.book-tagline{font-style:italic;color:#888;font-size:0.85rem;text-align:left;margin-bottom:0;}.excerpt-link{display:inline-block;margin-top:15px;padding:8px 16px;background:#5a7c47;color:white !important;border:none !important;border-radius:4px;cursor:pointer;font-size:0.85rem;transition:background 0.2s;}.excerpt-link:hover{background:#4a6c37;color:white !important;}/* Excerpt Modal */.excerpt-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);z-index:1000;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;}.excerpt-modal.open{display:flex;}.excerpt-content{background:#fefdfb;max-width:650px;max-height:85vh;overflow-y:auto;border-radius:8px;box-shadow:0 10px 50px rgba(0,0,0,0.5);position:relative;}.excerpt-header{position:sticky;top:0;background:#f0f8e8;padding:15px 25px;border-bottom:1px solid #a8c896;display:flex;justify-content:space-between;align-items:center;z-index:10;}.excerpt-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:#4a7c47;margin:0;}.excerpt-close{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#666;padding:0 5px;line-height:1;}.excerpt-close:hover{color:#333;}.excerpt-body{padding:30px 40px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;line-height:1.8;color:#333;}.excerpt-body p{text-align:justify;text-indent:2em;margin:0 0 1em 0;}.excerpt-body p:first-of-type{text-indent:0;}.excerpt-body p:first-of-type::first-letter{font-size:3em;float:left;line-height:0.8;padding-right:8px;color:#4a7c47;}.chapter-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;text-align:center;color:#4a7c47;margin-bottom:25px;font-weight:600;}/* Dark excerpt styles (Bone Eaters) */.excerpt-header-dark{background:#1a1a2e;border-bottom:1px solid #4a2c4a;}.excerpt-header-dark .excerpt-title{color:#c9b8d4;}.excerpt-header-dark .excerpt-close{color:#888;}.excerpt-header-dark .excerpt-close:hover{color:#c9b8d4;}.excerpt-body-dark{background:#0d0d14;color:#ede8f0;}.excerpt-body-dark p{color:#d8cce8;}.excerpt-body-dark .chapter-title{color:#c9b8d4;}.excerpt-body-dark p:first-of-type::first-letter{color:#c9b8d4;}.excerpt-link-dark{background:#4a2c4a;}.excerpt-link-dark:hover{background:#5a3c5a;}/* Story card styles (Short Stories section) */.story-card{padding:20px;margin:15px 0;border-radius:6px;background:linear-gradient(135deg,#f5f0e6 0%,#e8dcc8 100%);border:1px solid #c4b49a;}.story-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:#5d4e37;margin-bottom:8px;}.story-tagline{font-style:italic;color:#8b7355;font-size:0.9rem;margin-bottom:12px;}.excerpt-link-sepia{background:#8b7355;}.excerpt-link-sepia:hover{background:#6b5d4d;}/* Sepia excerpt modal styles */.excerpt-header-sepia{background:#e8dcc8;border-bottom:1px solid #c4b49a;}.excerpt-header-sepia .excerpt-title{color:#5d4e37;}.excerpt-header-sepia .excerpt-close{color:#8b7355;}.excerpt-header-sepia .excerpt-close:hover{color:#5d4e37;}.excerpt-body-sepia{background:#f5f0e6;color:#5d4e37;}.excerpt-body-sepia p{color:#5d4e37;}.excerpt-body-sepia .chapter-title{color:#6b5d4d;}.excerpt-body-sepia p:first-of-type::first-letter{color:#8b7355;}/* Links */a{color:#2d4a3e;text-decoration:none;border-bottom:1px solid #b8956b;}a:hover{color:#6b3a3a;}.content-card-dark a{color:#c9b8d4;border-color:#4a2c4a;}/* Contact */#section4 .content-card{text-align:center;}.contact-list{list-style:none;text-align:left;display:inline-block;}.contact-list li{margin-bottom:10px;}.contact-list a{display:inline-flex;align-items:center;gap:8px;border-bottom:none;font-size:0.95rem;}.contact-list svg{width:18px;height:18px;fill:#b8956b;}footer{text-align:center;margin-top:25px;padding-top:15px;border-top:1px solid #ddd;}.content-card-dark footer{border-color:#333;}footer p{font-size:0.8rem;color:#999;text-align:center;font-style:italic;}/* Entry screen */.entry-screen{position:fixed;top:0;left:0;width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:150;background:#f8f4ef;transition:opacity 0.8s ease,transform 0.8s ease;}.entry-screen.hidden{opacity:0;pointer-events:none;transform:translateY(-30px);}.entry-text{font-family:'Cormorant Garamond',Garamond,serif;font-size:1.3rem;font-style:italic;color:#666;letter-spacing:2px;margin-bottom:20px;}/* Hand-drawn arrow */.hand-arrow{width:60px;height:80px;animation:bobble 2s ease-in-out infinite;}.hand-arrow path{fill:none;stroke:#b8956b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}@keyframes bobble{0%,100%{transform:translateY(0);}50%{transform:translateY(15px);}}/* Scroll hint (appears mid-page) */.scroll-hint{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;opacity:0;transition:opacity 0.4s ease;pointer-events:none;z-index:100;}.scroll-hint.visible{opacity:0.6;}.scroll-hint span{font-family:'Cormorant Garamond',serif;font-size:0.8rem;color:#666;letter-spacing:2px;}.scroll-hint svg{width:20px;height:20px;stroke:#666;stroke-width:2;fill:none;animation:bobble 2s ease-in-out infinite;}.nav-bar.dark ~ .scroll-hint span,.nav-bar.dark ~ .scroll-hint svg{color:#999;stroke:#999;}/* Navigation */.nav-bar{position:fixed;top:0;left:0;width:100%;z-index:180;padding:12px 20px;display:flex;justify-content:center;gap:8px;background:rgba(248,244,239,0.9);backdrop-filter:blur(10px);transition:background 0.5s ease;}.nav-bar.dark{background:rgba(20,20,30,0.9);}.nav-bar.sepia{background:rgba(200,185,160,0.9);}.nav-link{font-family:'Cormorant Garamond',Garamond,serif;font-size:0.85rem;color:#2d4a3e;text-decoration:none;border:none;padding:6px 12px;border-radius:3px;transition:background 0.2s ease,color 0.2s ease;cursor:pointer;white-space:nowrap;}.nav-link:hover{background:rgba(45,74,62,0.1);}.nav-bar.dark .nav-link{color:#c9b8d4;}.nav-bar.dark .nav-link:hover{background:rgba(201,184,212,0.1);}.nav-bar.sepia .nav-link{color:#5d4e37;}.nav-bar.sepia .nav-link:hover{background:rgba(93,78,55,0.1);}.nav-separator{color:#ccc;align-self:center;}.nav-bar.dark .nav-separator{color:#444;}.nav-bar.sepia .nav-separator{color:#a89880;}/* Progress bar */.progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#b8956b,#4a7c6f);z-index:200;width:0%;}/* Flying fairies */.fairy{position:absolute;width:40px;height:auto;pointer-events:none;will-change:transform,opacity;}.fairy.left-to-right{animation:fairyMoveRight var(--duration) linear forwards,fairyBob 0.5s ease-in-out infinite;}.fairy.right-to-left{animation:fairyMoveLeft var(--duration) linear forwards,fairyBobFlipped 0.5s ease-in-out infinite;}@keyframes fairyMoveRight{0%{left:-60px;opacity:0;}5%{opacity:0.95;}92%{opacity:0.95;}100%{left:calc(100vw + 60px);opacity:0;}}@keyframes fairyMoveLeft{0%{right:-60px;opacity:0;}5%{opacity:0.95;}92%{opacity:0.95;}100%{right:calc(100vw + 60px);opacity:0;}}@keyframes fairyBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}@keyframes fairyBobFlipped{0%,100%{transform:scaleX(-1) translateY(0);}50%{transform:scaleX(-1) translateY(-10px);}}/* Flying dark fairies for Bone Eaters */.wraith{position:absolute;width:150px;height:auto;pointer-events:none;will-change:transform,opacity;opacity:0.85;mix-blend-mode:screen;}.wraith.left-to-right{animation:wraithMoveRight var(--duration) linear forwards,wraithBob 1.2s ease-in-out infinite;}.wraith.right-to-left{animation:wraithMoveLeft var(--duration) linear forwards,wraithBobFlipped 1.2s ease-in-out infinite;}@keyframes wraithMoveRight{0%{left:-200px;top:var(--start-y);opacity:0;}10%{opacity:0.85;}85%{opacity:0.85;}100%{left:calc(100vw + 200px);top:var(--end-y);opacity:0;}}@keyframes wraithMoveLeft{0%{right:-200px;top:var(--start-y);opacity:0;}10%{opacity:0.85;}85%{opacity:0.85;}100%{right:calc(100vw + 200px);top:var(--end-y);opacity:0;}}@keyframes wraithBob{0%,100%{transform:translateY(0) scale(var(--scale));}50%{transform:translateY(-15px) scale(var(--scale));}}@keyframes wraithBobFlipped{0%,100%{transform:scaleX(-1) translateY(0) scale(var(--scale));}50%{transform:scaleX(-1) translateY(-15px) scale(var(--scale));}}/* Responsive */@media (max-width:600px){.content-card{padding:30px 20px;}h1{font-size:2rem;}.author-image{width:110px;height:110px;}.book-card{padding:18px;}.book-title{font-size:1.3rem;}.foliage-item{transform:scale(0.5) !important;transition:none !important;}.nav-bar{gap:4px;padding:10px 15px;}.nav-link{font-size:0.75rem;padding:5px 8px;}.nav-separator{display:none;}.excerpt-body{padding:20px 25px;font-size:1rem;}.excerpt-header{padding:12px 20px;}}@media (max-width:400px){.nav-link{font-size:0.7rem;padding:4px 6px;}}/* Reduced motion for accessibility */@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}html{scroll-behavior:auto;}.foliage-item,.fairy,.wraith,.hand-arrow,.scroll-hint{animation:none !important;}.content-section{transition:opacity 0.01ms ease;}}