/* An illuminated navigational chart, with independently moving route and light. */
.scene-definitions { position:absolute; pointer-events:none; }
.treasure-chart { background:none; }
.treasure-chart>svg { width:100%; height:100%; display:block; }
.chart-drift { animation-duration:23s; inset:-12%; }
.voyage-trail { fill:none; stroke:#e4a552; stroke-width:4; stroke-linecap:round; stroke-dasharray:1 1.5; opacity:.7; animation:trail-flow 15s linear infinite; }
.voyage-spark { fill:none; stroke:#ffe3a1; stroke-width:8; stroke-linecap:round; stroke-dasharray:5 95; filter:drop-shadow(0 0 7px #ffbc55); animation:route-travel 13s linear infinite; }
.treasure-pulse { fill:none; stroke:#ffd58b; stroke-width:3; transform-box:fill-box; transform-origin:center; animation:treasure-found 3.5s ease-out infinite; }
.treasure-pulse--echo { animation-delay:-1.75s; }
.map-lantern { fill:url(#lantern-halo); mix-blend-mode:screen; animation:map-fire 3.7s ease-in-out infinite alternate; }
.map-lantern--right { animation-duration:5.1s; animation-delay:-2s; }
.world__mist--one { opacity:.16; animation-duration:19s; }
.world__mist--two { opacity:.12; animation-duration:27s; }
.cabin-dust { position:absolute; inset:-20%; opacity:.45; background-image:radial-gradient(2px 2px at 10% 30%,#ffc47a 90%,transparent),radial-gradient(1px 1px at 30% 80%,#f5d8a5 90%,transparent),radial-gradient(2px 2px at 72% 50%,#dc9e57 90%,transparent),radial-gradient(1px 1px at 88% 10%,#ebc184 90%,transparent); background-size:330px 390px; animation:dust-sail 24s linear infinite; }
.cabin-shade { background:linear-gradient(90deg,#100802b0,#10080275 56%,#10080260),radial-gradient(ellipse,transparent 20%,#08040299); }
.site-header,.site-header.is-scrolled { border:4px double #a77d48; background:linear-gradient(#201208ec,#1a0e07f0),url('assets/captains-chart.webp') center 0/cover; box-shadow:0 14px 35px #000b,inset 0 0 18px #000a; }
.hero__copy { background:radial-gradient(ellipse at 35% 50%,#1b0e08bf,transparent 72%); }
.hero__emblem::before { border-width:8px; border-color:#a97b46; box-shadow:0 0 0 3px #261407,0 20px 40px #0007; }
.hero__emblem::after { border:2px dashed #ad8050; }
.button--gold { background:linear-gradient(#e0b367e0,#a97432eb),url('assets/captains-chart.webp') 40% 80%/600px; border:3px double #f2ce89; box-shadow:inset 0 0 12px #43240b66,0 7px 0 #3d210f,0 13px 25px #0008; }
.voyage-section { width:min(1140px,calc(100% - 32px)); margin:90px auto 120px; }
.voyage-heading { text-align:center; padding:1.4rem; background:radial-gradient(ellipse,#140b05e0,transparent 73%); }
.voyage-heading h2 { font:clamp(3rem,6vw,6rem)/1.03 var(--display); margin:0 0 1.4rem; text-shadow:0 3px 10px #000; }
.voyage-board { position:relative; border:7px double #a17b47; box-shadow:0 25px 55px #000b; background:#291609; transform:rotate(-.65deg); }
.voyage-board>svg { width:100%; height:auto; display:block; }
.map-destinations { display:flex; justify-content:center; gap:1rem; padding:1rem; background:#1b1008; border-top:3px double #a77c46; }
.map-destinations a { display:flex; align-items:center; gap:.7rem; padding:.8rem 1rem; border:1px solid #986c38; color:#f5dbab; text-decoration:none; font:1rem var(--stamp); background:#342010; }
.map-destinations a:hover { background:#613f20; }
.map-destinations span { font:1.6rem var(--display); color:#ffc86c; }
.chapter-divider { display:grid; justify-items:center; gap:.3rem; padding:2rem 24px; margin:2rem auto 0; border-block:5px double #7e5933; color:#ecc58b; background:linear-gradient(#1a0c04db,#160b04e8),url('assets/captains-chart.webp') center bottom/cover; box-shadow:0 15px 35px #0009,inset 0 0 24px #0008; }
.chapter-divider span { font:.875rem var(--stamp); text-transform:uppercase; letter-spacing:.24em; }
.chapter-divider strong { font:clamp(2.4rem,5vw,4rem)/1.2 var(--display); }
.section { padding-block:90px; }
.section-heading { background:linear-gradient(#281509ee,#201007f2),url('assets/captains-chart.webp') 40% 80%/cover; border:3px double #ad8551; box-shadow:inset 0 0 30px #0008,0 12px 30px #0006; }
.treasure-grid { gap:2rem; }
.treasure-card { padding:2.5rem; background:linear-gradient(#e8c990ed,#c9a36be8),url('assets/captains-chart.webp') center/700px; border:0; color:#30190a; box-shadow:inset 0 0 28px #62330b88,0 15px 30px #0009; clip-path:polygon(1% 1%,18% 0,33% 1%,51% 0,72% 1%,98% 0,100% 18%,99% 46%,100% 78%,98% 100%,74% 99%,50% 100%,28% 99%,1% 100%,0 71%,1% 43%,0 18%); }
.treasure-card:nth-child(2) { rotate:1deg; }
.treasure-card:nth-child(3) { rotate:-.7deg; }
.treasure-card:hover { background:linear-gradient(#efd49fee,#d6b37ae8),url('assets/captains-chart.webp') center/700px; }
.treasure-card h3,.treasure-card p { color:#30190a; }
.treasure-card .card-number { color:#78431c; }
.card-icon { color:#6d3412; border-color:#6d341288; margin-bottom:2rem; }
.story__copy { border:5px double #ad8551; background:linear-gradient(#25140bed,#1f1109f2),url('assets/captains-chart.webp') center/cover; box-shadow:inset 0 0 30px #000a,0 20px 40px #0008; }
.story__copy blockquote { border-color:#ca9759; }
.gallery { gap:1.5rem; padding:1.5rem; border:5px double #8a623b; background:#170b05b8; }
.gallery-card { border:8px solid #644325; outline:1px solid #bc945d; box-shadow:inset 0 0 0 3px #231105,0 12px 20px #0008; }
.gallery-card span { opacity:1; transform:none; border-radius:2px; font-size:.875rem; }
.cta-section { border:7px double #957047; background:linear-gradient(#211109eb,#160c06ef),url('assets/captains-chart.webp') center/cover; }
footer { padding-bottom:90px; }
@keyframes trail-flow { to { stroke-dashoffset:-30; } }
@keyframes route-travel { from { stroke-dashoffset:5; } to { stroke-dashoffset:-95; } }
@keyframes treasure-found { 0% { opacity:.9; transform:scale(.6); } 100% { opacity:0; transform:scale(2.6); } }
@keyframes map-fire { 0%,100% { opacity:.63; } 22% { opacity:.9; } 45% { opacity:.71; } 73% { opacity:1; } }
@keyframes dust-sail { to { transform:translate3d(80px,-180px,0); } }
@media(max-width:960px) { .treasure-grid { gap:1.5rem; } .map-destinations { gap:.5rem; } .map-destinations a { padding:.8rem; font-size:.875rem; } }
@media(max-width:620px) { .voyage-section { width:calc(100% - 20px); margin:65px auto; } .voyage-board { transform:none; border-width:4px; } .map-destinations { flex-direction:column; } .map-destinations a { justify-content:center; min-height:48px; } .gallery { padding:.7rem; gap:1.2rem; } .section { padding-block:65px; } .treasure-card { padding:2rem; } .world .voyage-spark { stroke-width:11; } }
@media(prefers-reduced-motion:reduce) { .voyage-trail,.voyage-spark,.treasure-pulse,.map-lantern,.cabin-dust { animation:none!important; } .treasure-pulse--echo { display:none; } .voyage-spark { stroke-dasharray:none; opacity:.45; } }
