@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Nunito:wght@400;600;700;800&display=swap');
:root{--ink:#233f46;--navy:#173749;--gold:#dfb95f;--paper:#fff9ed;--green:#2d665b;--rust:#a84e27}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 Nunito,Arial,sans-serif}h1,h2,h3,blockquote{font-family:'Cormorant Garamond',Georgia,serif}h1,h2,h3{line-height:1.06;margin:0 0 20px}h2{font-size:clamp(2.7rem,5vw,4.3rem)}h3{font-size:2rem}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #b15b29;outline-offset:5px}p{margin:0 0 22px}.wrap{max-width:1240px;margin:auto;padding:0 32px}.top{position:sticky;top:0;z-index:10;background:#fff9edf5;backdrop-filter:blur(10px);border-bottom:1px solid #dfd6bc}.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:82px}.brand{text-decoration:none;font:700 1.2rem/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em}.brand small{display:block;font:800 .75rem Nunito;letter-spacing:.13em;color:var(--green);margin-top:5px}nav{display:flex;gap:25px;font-size:.88rem;font-weight:800}nav a{text-decoration:none}nav a:hover{color:var(--rust)}.hero{display:grid;grid-template-columns:44% 56%;min-height:650px;background:var(--navy);color:var(--paper)}.hero-copy{padding:80px max(32px,calc((100vw - 1176px)/2));padding-right:40px;align-self:center}.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:20px;color:var(--green)}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(3.7rem,6vw,6rem)}h1 span{display:block;color:var(--gold)}.hero p{max-width:470px;font-size:1.08rem}.hero-art{position:relative;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:48% center}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17374988,transparent 20%)}.buttons{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;background:var(--green);color:white;border:0;border-radius:8px;text-decoration:none;font-weight:800;font-size:.88rem}.btn:hover{filter:brightness(1.1)}.btn.gold{background:var(--gold);color:#173749}.btn.outline{background:transparent;border:1px solid #7f988f;color:inherit}.ribbon{padding:21px 20px;background:#e9eddc;text-align:center;font-size:.86rem;letter-spacing:.06em;font-weight:800;color:#345649}.section{padding:92px 0}.heading{max-width:650px;margin-bottom:38px}.heading.center{margin-left:auto;margin-right:auto;text-align:center}.heading p{color:#526463}.books{display:grid;grid-template-columns:1fr 1fr;gap:30px}.book{display:grid;grid-template-columns:43% 57%;background:white;border:1px solid #ded8c8;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #1437460b}.book-visual{background:#dce7dc;padding:30px 20px;display:flex;align-items:center}.book.autumn .book-visual{background:#f1dfbd}.book-visual img{display:block;width:100%;box-shadow:8px 10px 20px #16334930;border-radius:3px}.book-copy{padding:30px 25px}.book-copy .eyebrow{font-size:.72rem;margin-bottom:12px}.book-copy p{font-size:.92rem}.book-copy details{margin:20px 0;font-size:.88rem}.book-copy summary{cursor:pointer;font-weight:800;color:var(--green)}.book-copy ol{padding-left:21px}.friends-section{background:#f1eddf}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.person{background:#fffdf7;border-radius:18px;overflow:hidden;border:1px solid #ddd6be;position:relative}.person img{width:100%;height:305px;object-fit:cover}.person-copy{padding:24px 26px 27px}.person-copy p{font-size:.95rem;margin-bottom:18px}.paw{background:var(--green);color:white;border:0;border-radius:30px;display:inline-flex;gap:8px;padding:10px 16px;align-items:center;text-decoration:none;font-weight:800;font-size:.86rem;min-height:46px}.friend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.friend-grid .person img{height:190px;object-fit:cover}.friend-grid .person-copy{padding:18px}.friend-grid h3{font-size:1.7rem;margin-bottom:12px}.friend-grid p{font-size:.86rem;line-height:1.5}.friend-grid .paw{font-size:.8rem}.subhead{font:700 2.4rem 'Cormorant Garamond',Georgia,serif;margin:58px 0 10px}.map-section{background:#173749;color:#fff9ed}.map-section .eyebrow{color:var(--gold)}.map-section .heading p{color:#d6e1da}.map-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:20px}.map-tools p{margin:0;font-size:.87rem}.zoom{display:flex;gap:8px}.zoom button{border:1px solid #78948d;background:transparent;color:white;min-width:45px;min-height:45px;border-radius:7px}.map-scroll{overflow:auto;max-height:850px;border-radius:16px;border:6px solid #dfb95f;scrollbar-color:#dfb95f #173749}.map-canvas{position:relative;min-width:950px;width:100%;aspect-ratio:1539/1024;transform-origin:0 0}.map-canvas>img{width:100%;display:block}.pin{position:absolute;transform:translate(-50%,-50%);background:#173749;color:#fff7da;border:2px solid #dfb95f;border-radius:50%;width:44px;height:44px;box-shadow:0 2px 10px #0008;font-size:20px;display:grid;place-items:center}.pin:hover,.pin[aria-pressed=true]{background:#dfb95f;color:#173749;box-shadow:0 0 0 5px #fff7da77}.map-bottom{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}.place-list{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.place-list button{background:#24485a;border:1px solid #647f80;color:#fff9ed;border-radius:7px;padding:10px 14px;text-align:left;font-size:.84rem}.place-list button[aria-pressed=true]{background:var(--gold);color:var(--navy)}.place-detail{padding:28px;background:#fff9ed;color:var(--ink);border-radius:13px;min-height:240px}.place-detail h3{font-size:2.3rem}.place-detail p{font-size:.95rem}.season{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.season-picture{border-radius:18px;width:100%;max-height:540px;object-fit:cover;object-position:center 60%;box-shadow:0 10px 25px #72441b25}.season p{max-width:510px}.season .eyebrow{color:var(--rust)}.song{padding:23px;background:#f5e4c6;border-left:4px solid #c58135;border-radius:0 10px 10px 0;margin-top:25px}.song h3{font-size:1.8rem;margin-bottom:12px}.song p{font-size:.9rem;margin-bottom:14px}.quote{padding:72px 32px;text-align:center;background:#e4eada}.quote blockquote{max-width:890px;margin:0 auto 25px;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.2}.quote cite{font-style:normal;font-weight:800;font-size:.9rem}.review{max-width:770px;margin:auto;text-align:center;border:1px solid #d3c9a9;background:white;border-radius:17px;padding:42px}.review .stars{color:#9b681e;font-size:1.3rem;letter-spacing:.15em}.review h3{margin:15px 0}.review p{font-size:1.05rem}.review small{display:block;margin-bottom:20px}.closing{background:var(--green);color:#fff9ed;text-align:center;padding:64px 25px}.closing h2{font-size:3rem}.footer{background:#102b3a;color:#dbe5dc;padding:35px 0;font-size:.85rem}.footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:#dfb95f}.footer div div{display:flex;gap:20px}dialog{border:0;border-radius:20px;padding:0;max-width:720px;width:calc(100% - 32px);color:var(--ink);background:#fff9ed;max-height:90vh;overflow:auto;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#102b3bbb;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:flex-end;padding:12px 15px}.dialog-top button{background:transparent;border:0;font-size:1rem;font-weight:800;padding:8px}.dialog-content{padding:0 35px 35px}.dialog-content img{width:180px;height:180px;object-fit:cover;border-radius:50%;float:right;margin:0 0 20px 25px}.dialog-content h2{font-size:3rem}.dialog-content dl{display:grid;grid-template-columns:100px 1fr;gap:10px;font-size:.95rem;margin:25px 0}.dialog-content dt{font-weight:800}.dialog-content dd{margin:0}.dialog-content h3{font-size:1.6rem;clear:both}.dialog-content .hint{color:#526463;font-size:.88rem}.skip{position:absolute;left:15px;top:-70px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}@media(max-width:1000px){.top .wrap{flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.hero{grid-template-columns:1fr 1fr;min-height:580px}.hero-copy{padding:50px 30px}h1{font-size:4rem}.books{grid-template-columns:1fr}.book{grid-template-columns:35% 65%}.friend-grid{grid-template-columns:repeat(3,1fr)}.season{gap:30px}}@media(max-width:680px){.wrap{padding:0 20px}.top .wrap{gap:15px}.brand{font-size:1.05rem}nav{gap:16px;overflow-x:auto;width:100%;font-size:.83rem;padding-bottom:3px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 25px}.hero-art{height:380px}.hero-art:after{background:linear-gradient(#17374955,transparent 25%)}h1{font-size:4rem}.section{padding:60px 0}.books .book{grid-template-columns:1fr}.book-visual{padding:25px;justify-content:center}.book-visual img{width:180px}.book-copy{padding:25px}.cards{grid-template-columns:1fr}.cards .person{display:grid;grid-template-columns:42% 58%}.cards .person img{height:100%;min-height:250px}.person-copy{padding:22px 18px}.friend-grid{grid-template-columns:1fr 1fr;gap:12px}.friend-grid .person img{height:160px}.friend-grid .person-copy{padding:15px 12px}.friend-grid h3{font-size:1.6rem}.map-bottom{grid-template-columns:1fr}.map-canvas{min-width:1000px}.season{grid-template-columns:1fr}.season-picture{max-height:410px}.review{padding:30px 23px}.dialog-content{padding:0 22px 25px}.dialog-content img{float:none;display:block;margin:0 auto 25px}.dialog-content dl{grid-template-columns:1fr}.dialog-content dd{margin-bottom:10px}.ribbon{font-size:.8rem}.footer .wrap{display:block}.footer div div{flex-wrap:wrap;margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.season-scene{position:relative;aspect-ratio:1024/960;border-radius:18px;overflow:hidden;box-shadow:0 10px 25px #72441b25;max-width:100%;}.season-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;}

/* Small, consistent parchment labels leave the village artwork visible. */
.pin{width:32px;height:32px;font-size:16px;z-index:3;overflow:visible}
.pin-label{display:block;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);width:max-content;max-width:112px;white-space:normal;background:#fff0d2;color:#42321d;border:1px solid #9f7b42;border-radius:4px;padding:3px 6px;font:700 11px/1.15 "Cormorant Garamond",Georgia,serif;text-align:center;box-shadow:0 2px 4px #3b291633;pointer-events:none}
.pin:hover,.pin:focus-visible,.pin[aria-pressed=true]{z-index:6}
.pin:hover .pin-label,.pin:focus-visible .pin-label,.pin[aria-pressed=true] .pin-label{background:#f7d994;border-color:#173749;box-shadow:0 2px 8px #3b291655}

/* The shared seasons entrance keeps all four illustrations visible. */
.season .season-scene{display:block;aspect-ratio:1}.season .season-scene img{display:block;width:100%;height:100%;object-fit:contain}.season .season-scene:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.season-index-link{margin:16px 0 0;font-size:16px;text-align:center}.season-index-link a{text-decoration:underline;text-underline-offset:4px}.season-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0 20px;overflow:visible;width:100%;font-size:17px}.season-path{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:92px;padding:15px 17px;border:1px solid #c9b493;border-radius:10px;line-height:1.4;text-decoration:none}.season-path small{font:14px/1.5 Arial,sans-serif}.season-path--active{background:var(--navy);color:#fff9ed;border-color:var(--navy)}.season-path--active:hover{background:#254b5a;text-decoration:underline;text-underline-offset:4px}.season-path--soon{background:#f8f2e5;color:#425a58;border-style:dashed}.season-book-link{margin:0 0 20px}@media(max-width:680px){.season-paths{gap:10px}.season-path{padding:14px 12px}.season-index-link{font-size:16px}}
