@import url("https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&display=swap");@import url("https://fonts.googleapis.com/css2?family=Bilbo&display=swap");:root{--primary-color:#8b4513;--secondary-color:#d2b48c;--text-color:#f5deb3;--shadow-color:rgba(0,0,0,0.7);--card-bg:rgba(0,0,0,0.8);--hover-color:#c19a6b;--button-bg:rgba(139,69,19,0.9);font-size:62.5%}*{padding:0;margin:0;box-sizing:border-box}body{font-family:Cinzel Decorative,serif;overflow-x:hidden}.peter-container{background-image:url(/Peter/shire.jpg);background-repeat:no-repeat;background-size:cover;background-position:50%;background-color:var(--primary-color);min-height:100vh;display:flex;flex-direction:column;padding:4rem 2rem}.page-title{font-family:Bilbo,cursive;font-size:7rem;text-align:center;color:var(--text-color);margin-bottom:5rem;text-shadow:.3rem .3rem .6rem var(--shadow-color)}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(30rem,1fr));gap:3rem;max-width:140rem;margin:0 auto;padding-bottom:5rem}.character-card{position:relative;border-radius:.5rem;overflow:hidden;transition:transform .3s ease;cursor:pointer;background-color:var(--card-bg);height:100%;display:flex;flex-direction:column;box-shadow:0 .4rem .8rem rgba(0,0,0,.5)}.character-card:hover{transform:scale(1.03)}.character-image{width:100%;height:40rem;object-fit:cover;object-position:top}.character-info{padding:1.5rem;background-color:var(--card-bg);flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:10rem}.character-name{font-size:2.4rem;color:#ffe81f;text-align:center;margin-bottom:1.2rem;font-weight:700;text-shadow:.2rem .2rem .3rem rgba(0,0,0,.8);line-height:1.2}.character-name,.read-more-btn{font-family:Cinzel Decorative,serif}.read-more-btn{background-color:var(--button-bg);color:var(--text-color);border:none;padding:.8rem 1.6rem;border-radius:.3rem;font-size:1.4rem;cursor:pointer;transition:background-color .3s,transform .2s;letter-spacing:.1rem;text-transform:uppercase;box-shadow:0 .2rem .4rem rgba(0,0,0,.5)}.read-more-btn:hover{background-color:var(--hover-color);transform:translateY(-.2rem)}.back-button-container{display:flex;justify-content:center;margin-top:3rem}.back-button{background-color:var(--primary-color);color:var(--text-color);border:none;padding:1.5rem 3rem;border-radius:.3rem;font-size:1.8rem;cursor:pointer;transition:background-color .3s;font-family:Cinzel Decorative,serif;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 .4rem .8rem rgba(0,0,0,.5)}.back-button:hover{background-color:var(--hover-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal-content{background-color:var(--card-bg);border-radius:.5rem;width:100%;max-width:80rem;max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column;box-shadow:0 0 2rem var(--shadow-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:.1rem solid var(--primary-color)}.modal-title{font-size:3rem;color:var(--text-color);font-family:Cinzel Decorative,serif;font-weight:700}.close-button{background:none;border:none;color:var(--text-color);font-size:2.4rem;cursor:pointer}.modal-body{padding:2rem;display:flex;flex-direction:column;gap:2rem}@media (min-width:768px){.modal-body{flex-direction:row}}.modal-image{width:100%;max-width:30rem;height:auto;object-fit:cover;border-radius:.3rem;align-self:center}.modal-description{flex:1;color:var(--text-color);font-size:1.6rem;line-height:1.6;font-family:Cinzel Decorative,serif}.character-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.stat-item{display:flex;flex-direction:column}.stat-label{font-size:1.4rem;color:var(--secondary-color);font-weight:700}.stat-value{font-size:1.6rem;color:var(--text-color)}@media (max-width:768px){.page-title{font-size:5rem}.character-grid{grid-template-columns:repeat(auto-fill,minmax(25rem,1fr))}.character-image{height:35rem}}