/* Captain's chart table: artwork, drifting camera and independent lantern light. */
:root { --ink:#160e08; --deep:#24160d; --sea:#402619; --turquoise:#c08a43; --foam:#f3dfb8; --gold:#edb95d; --white:#fff4df; }
body { isolation:isolate; background:#160e08; }
.world { z-index:-2; background:#160e08; pointer-events:none; }
.chart-drift { position:absolute; inset:-8%; animation:chart-voyage 38s ease-in-out infinite alternate; }
.treasure-chart { position:absolute; inset:0; background:url('assets/captains-chart.webp') center/cover no-repeat; transform:translate3d(var(--chart-x,0px),var(--chart-y,0px),0) scale(1.04); transition:transform 1.5s ease-out; }
.cabin-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,8,3,.72),rgba(18,10,5,.34) 58%,rgba(16,8,4,.42)),radial-gradient(ellipse at center,transparent 20%,rgba(6,3,1,.64)); }
.lantern-light { position:absolute; width:72vw; height:110vh; top:-15vh; border-radius:50%; mix-blend-mode:screen; background:radial-gradient(ellipse,rgba(255,167,48,.25),rgba(235,104,17,.09) 35%,transparent 66%); pointer-events:none; }
.lantern-light--left { left:-39vw; transform-origin:35% 0; animation:lantern-breathe 4.7s ease-in-out infinite alternate; }
.lantern-light--right { right:-38vw; top:0; transform-origin:65% 0; animation:lantern-breathe 6.3s ease-in-out -2s infinite alternate-reverse; }
.world__water,.world__glow,.hero__orbit { display:none; }
.world__mist { opacity:.06; filter:blur(45px); background:radial-gradient(ellipse at 25% 70%,#cdb38b,transparent 42%); }
.world__grain { opacity:.055; }
.cursor-light { z-index:-1; width:650px; height:650px; margin:-325px 0 0 -325px; background:radial-gradient(circle,rgba(255,174,63,.16),transparent 67%); mix-blend-mode:screen; }
.site-header,.site-header.is-scrolled { background:linear-gradient(105deg,rgba(36,20,10,.96),rgba(17,10,6,.94)); border:1px solid #8c6337; border-radius:4px; box-shadow:0 10px 34px #0009,inset 0 0 0 4px #d3a06415; }
.header-cta,.button { border-radius:3px; }
.hero { min-height:100svh; gap:2rem; }
.hero__copy { padding:2rem 0; }
h1 { font-size:clamp(4.3rem,7.3vw,7.5rem); line-height:1; text-shadow:0 3px 2px #1b0b02,0 8px 30px #000; }
.hero__lead { color:#fff0d4; text-shadow:0 2px 6px #000; }
.eyebrow { text-shadow:0 2px 5px #000; }
.hero__emblem { width:min(42vw,510px); }
.hero__emblem::before { border:5px double #b58b4e99; box-shadow:0 0 65px #db862d25,inset 0 0 55px #1a0b0399; animation-duration:90s; }
.hero__emblem::after { border-color:#deb57177; }
.emblem-glow { background:radial-gradient(circle,#ffad4566,transparent 70%); }
.hero__seal { background:radial-gradient(circle,#a13722,#632315); color:#fce0a4; border-color:#c08f53; outline-color:#daaf71; }
.marquee { background:#251408ed; border-block:3px double #a87e42; }
.treasure-card { background:linear-gradient(145deg,#3e2517f5,#1b1009f5); border-color:#ad844f88; border-radius:3px; box-shadow:inset 0 0 0 5px #c3945310,0 20px 45px #0007; }
.treasure-card:hover { background:linear-gradient(145deg,#51321e,#201209); }
.treasure-card p,.section-heading>p:last-child,.story__copy>p:not(.eyebrow) { color:#f1dfc4; }
.section-heading { padding:2rem; background:linear-gradient(90deg,#1c1009e8,#1c1009b8); border-left:2px solid #bd9256; }
.section-heading h2,.story__copy h2 { line-height:1; }
.section-heading--center { border-left:0; border-block:1px solid #bd925677; }
.story__copy { padding:clamp(1.5rem,3vw,3rem); background:#1c1009ee; border:1px solid #ad844f77; box-shadow:0 20px 50px #0005; }
.map-card { background:linear-gradient(#e9c58044,#9b652444),url('assets/captains-chart.webp') center/cover; border-radius:2px; border:5px double #7d542d; }
.map-card p { color:#fff1d2; padding:.7rem; background:#26170deb; text-shadow:0 2px 3px #000; }
.map-line { display:none; }
.gallery-card { border-radius:3px; border:3px solid #9b7548; box-shadow:0 6px 24px #0007; }
.gallery-card span { background:#27170de6; }
.cta-section { background:radial-gradient(ellipse at top,#9d5b2433,transparent 70%),#1c1009ed; border-radius:3px; border:3px double #ab7d42; }
footer { background:#120b07f5; border-top:3px double #8f673b; }
.loader { background:radial-gradient(circle,#573018,#130b06 70%); animation:loader-failsafe .1s 4s forwards; }
.motion-toggle { position:fixed; z-index:90; bottom:14px; right:14px; padding:.55rem .8rem; border:1px solid #ae8147; border-radius:3px; color:#f4deb7; background:#1b1009ed; font-size:.875rem; cursor:pointer; }
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after { animation-play-state:paused!important; }
body.motion-paused .treasure-chart { transform:scale(1.04); }
:focus-visible { outline:3px solid #f4c875; outline-offset:5px; }
@keyframes chart-voyage { 0% { transform:translate3d(-1%,0,0) rotate(-1deg) scale(1.02); } 50% { transform:translate3d(1%,1%,0) rotate(.2deg) scale(1.06); } 100% { transform:translate3d(0,-1%,0) rotate(1deg) scale(1.03); } }
@keyframes lantern-breathe { 0%,100% { opacity:.7; transform:rotate(-2deg) scale(.98); } 18% { opacity:.83; } 36% { opacity:.66; transform:rotate(1deg) scale(1.02); } 55% { opacity:.91; } 74% { opacity:.76; } 88% { opacity:.87; transform:rotate(2deg) scale(1.03); } }
@keyframes loader-failsafe { to { opacity:0; visibility:hidden; } }
@media(max-width:960px) { .main-nav { background:#190e07fa; } .hero__emblem { width:min(68vw,440px); } .hero { gap:0; } .section-heading { padding:1.5rem; } }
@media(max-width:620px) { h1 { font-size:clamp(3.3rem,15vw,5.2rem); } .hero__emblem { width:min(78vw,350px); } .hero__copy { padding-top:0; } .cabin-shade { background:linear-gradient(#170c0560,#170c05b3),radial-gradient(ellipse,transparent,#09040180); } .treasure-chart { background-size:auto 110%; } .lantern-light { width:110vw; } .lantern-light--left { left:-60vw; } .lantern-light--right { right:-65vw; } .section { padding-block:65px; } }
@media(prefers-reduced-motion:reduce) { .chart-drift,.lantern-light { animation:none!important; } .treasure-chart { transform:none!important; transition:none; } .loader { display:none; } }
