/* Sunfarers' inhabited, eccentric instrument language. Static artwork keeps it light. */
:root { --ink:#fff0d9; --muted:#d5bfd8; --gold:#ffd17c; --purple:#ce9aff; --ground:#130819; --line:#c58bdb50 }
body.home-page,body.field-guide { background:#130819; color:#fff0d9 }
.home-page::before,.field-guide::before { content:''; position:fixed; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(110deg,#20091bd9,#200b33b5 58%,#100a29b0),url('shots/site-nebula-tile.jpg') center/1254px 1254px; }
.home-page::after,.field-guide::after { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 5% 12%,#d251482f,transparent 42%),radial-gradient(ellipse at 95% 58%,#773ad747,transparent 45%) }
.home-page .page-shell { isolation:isolate }
.home-page .site-header,.field-guide .console-header { background:linear-gradient(105deg,#25102ff5,#160b23f5 65%,#502335f2); border:1px solid #c48bca57; border-top:0; border-bottom-color:#e9b57199; border-radius:0 0 42% 6% / 0 0 20px 12px; box-shadow:0 8px 30px #07020b55; }
.home-page .site-header nav a,.field-guide #tablist a { position:relative; padding:10px 15px; color:#e0c2eb; border-radius:22px 6px 22px 6px; font-family:'Barlow Condensed',sans-serif; font-size:18px; letter-spacing:.04em; transition:background .2s,color .2s; }
.home-page .site-header nav a:hover,.field-guide #tablist a:hover { color:#ffe2a3; background:#bc7cea25; box-shadow:inset 0 -1px #e9b571 }
.home-page .brand { color:#ffe2a3; text-shadow:0 0 25px #e4907130 }
.home-page .brand-sun { width:14px; height:14px; background:#ffd17c; box-shadow:0 0 0 5px #e3a35619,0 0 0 10px #ce9aff14,0 0 25px #ffa25090 }
.home-page .header-newsletter,.field-guide .header-newsletter { border-color:#e0ac65; border-radius:30px 6px 30px 6px; color:#ffe2a3; background:#7a3f3926 }
.home-page .opening { padding-top:48px }
.home-page .opening::before { inset:0 -4vw -30px; height:auto; z-index:-1; background:radial-gradient(ellipse at 65% 50%,#b326623d,transparent 65%),radial-gradient(ellipse at 0% 18%,#d5803025,transparent 55%); border-radius:0 0 50% 0 }
.home-page .opening h1 { position:relative; z-index:1; color:#ffe0a0; background:linear-gradient(170deg,#fff0c9 10%,#ffd17c 55%,#d996ce 96%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 3px 0 #512c47); letter-spacing:.01em; }
.home-page .brandline { color:#d8b4e1 }
.home-page .opening-grid { position:relative; gap:32px; margin-top:35px }
.home-page .opening-copy h2 em { color:#d59cff }
.home-page .opening-copy > p:not(.development-note) { color:#e0cbe1 }
.hero-orbit { position:absolute; top:8px; right:0; width:48%; height:340px; z-index:-1; color:#d29ee8; opacity:.45; pointer-events:none; transform:rotate(-15deg) }
.hero-orbit ellipse { fill:none; stroke:currentColor; stroke-width:.7 }
.hero-orbit circle { fill:#ffd17c }
.home-page .opening-photo { position:relative; padding:12px; }
.home-page .opening-photo::before { content:''; position:absolute; inset:0 0 55px; border:1px solid #f1bfa98c; border-radius:40% 12% 35% 9% / 28% 20% 22% 34%; transform:rotate(1.5deg); pointer-events:none; box-shadow:0 0 0 7px #b45dba16,0 0 45px #b748a522; }
.home-page .opening-photo .image-open { border:1px solid #ce9aff90; border-radius:40% 12% 35% 9% / 28% 20% 22% 34%; transform:rotate(-2deg); box-shadow:0 18px 65px #07020f80; }
.home-page .opening-photo img { aspect-ratio:1.04; object-position:78% center }
.home-page .opening-photo figcaption { padding:22px 10px 0 30px; color:#ffdcb0 }
.home-page .opening-photo figcaption span { color:#caa4d6 }
.home-page .button { border-radius:35px 7px 35px 7px; border-color:#ffe0a0; color:#33162f; background:linear-gradient(120deg,#ffe0a0,#eeb968); box-shadow:0 5px 0 #72385160,0 8px 25px #da85421c; }
.home-page .button:hover { background:linear-gradient(120deg,#fff0c9,#ffd17c); box-shadow:0 5px 0 #95436380,0 5px 28px #f49d4d40 }
.home-page .text-link { color:#ffd17c; border-color:#f4bd7255 }
.home-page .eyebrow { display:flex; align-items:center; gap:13px; color:#ffcf87; letter-spacing:.18em }
.home-page .eyebrow::before { content:''; width:19px; height:7px; flex:none; border:1px solid currentColor; border-radius:50%; transform:rotate(-25deg); opacity:.8 }
.home-page .chapter-cue { position:relative; border:0; border-bottom:1px solid #d79cd77a; border-radius:0 0 40% 12% / 0 0 28px 12px; padding:24px 22px 32px; margin-top:45px; color:#e1b5ed; background:linear-gradient(95deg,#85375322,transparent); }
.home-page .chapter-cue span { color:#ffca7d; font-size:24px }
.home-page .story-section { padding-block:90px }
.home-page .section-intro h2 { color:#ffe1a8 }
.home-page .section-intro > p:last-child { color:#d8bedc }
.home-page .wide-photo .image-open { border-radius:10% 3% 15% 3% / 16% 8% 22% 8%; border:1px solid #cb90df88; box-shadow:0 0 0 6px #9e66b61c,0 20px 70px #05010c60; }
.home-page .game-photo figcaption { color:#d8b1e5 }
.home-page .game-photo figcaption > span { color:#c3a0d0 }
.home-page .ship-principles { column-gap:32px }
.home-page .ship-principles > div { padding:22px 25px; border-left:1px solid #e0ad7190; border-radius:35px 5px 30px 5px; background:linear-gradient(135deg,#7c385440,#38224650); }
.home-page .ship-principles > div:nth-child(2) { border-color:#9de6d580; background:linear-gradient(135deg,#28606430,#38224650); border-radius:5px 35px 5px 30px }
.home-page .ship-principles h3 { color:#ffe1a8 }
.home-page .ship-principles > div:nth-child(2) h3 { color:#a6e5d6 }
.home-page .crew-section { position:relative; padding:70px 5%; border:1px solid #d48bcd60; border-left:2px solid #efbf80; border-radius:90px 12px 110px 16px; background:radial-gradient(ellipse at 0 20%,#b5673340,transparent 65%),linear-gradient(135deg,#4c2645d9,#241431ed 65%); box-shadow:0 25px 65px #08010d44; }
.home-page .crew-section::before { inset:12px; border-top:1px solid #ebc79935; border-radius:80px 10px 100px 10px; background:none }
.home-page .crew-heading h2 { color:#f9dfc4; font-size:clamp(34px,3.8vw,60px) }
.bunk-word { color:#ffd27f }
.gun-word { color:#d59fff }
.home-page .crew-grid { gap:35px }
.home-page .crew-connections article { padding:18px 0; border-top:1px solid #d9a7dd33; border-radius:22px 0 0 0 }
.home-page .crew-connections article > span { color:#d99bff }
.home-page .crew-connections h3 { color:#e0b9f0 }
.home-page .lead { color:#ffdfb5 }
.home-page .work-stories { grid-template-columns:1.06fr .94fr; gap:36px; align-items:start }
.home-page .work-stories article:nth-child(2) { padding-top:85px }
.home-page .work-stories .image-open { border:1px solid #dfa76d88; border-radius:18% 4% 24% 4% / 22% 6% 28% 8%; box-shadow:0 0 0 5px #db884019,0 18px 35px #08020d77 }
.home-page .work-stories article:nth-child(2) .image-open { border-color:#b895e7a0; border-radius:4% 22% 4% 25% / 8% 25% 8% 30%; box-shadow:0 0 0 5px #a773db1c,0 18px 35px #08020d77 }
.home-page .work-stories h3 { color:#ffd08a; font-size:30px }
.home-page .work-stories article:nth-child(2) h3 { color:#d4a4ff }
.home-page .danger { padding-top:10px; gap:35px }
.home-page .danger h2 { color:#f4af99 }
.home-page .danger .image-open { border:1px solid #e794b8a0; border-radius:5% 30% 6% 28% / 10% 25% 10% 30%; box-shadow:0 0 0 6px #d365841c,0 25px 60px #0a020d77; }
.home-page .listening-section { border:0; padding-top:95px; }
.home-page .listening-section::before { inset:0 -3vw; border-top:1px solid #d297ed66; border-radius:45% 5% 35% 5% / 7% 2% 8% 2%; background:radial-gradient(ellipse at 65% 45%,#953cdc60,transparent 70%),linear-gradient(145deg,#2e11424d,transparent); }
.home-page .listening-intro h2 { color:#dfb4ff; text-shadow:0 0 50px #ab4eee30 }
.home-page .listening-scene { border-radius:18% 4% 18% 4% / 25% 7% 25% 7%; border-color:#c895edaa; box-shadow:0 0 0 7px #b474de1c,0 0 65px #985bdd22 }
.home-page .listening-scene .button { background:linear-gradient(120deg,#eed3ff,#c592ed); border-color:#e6bbff; box-shadow:0 5px 0 #5c307377 }
.home-page .world-invitation { gap:45px; padding-block:90px }
.home-page .world-invitation h2 { color:#edc4ff }
.home-page .orbital-mark { border-color:#d3a5f390; background:radial-gradient(circle,#d9903433,transparent 55%),#23103f80; box-shadow:0 0 0 12px #a863cf12,0 0 0 30px #a863cf09,0 0 45px #ba74e529 }
.home-page .orbital-mark::before,.home-page .orbital-mark::after { border-color:#d3a5f36b }
.home-page .orbital-mark span { box-shadow:0 0 0 6px #e8aa521c,0 0 55px #ffc36499 }
.home-page .orbital-mark i { width:12px; height:12px; box-shadow:0 0 15px #b380ef }
.home-page .updates-section { border:1px solid #cf91c583; border-top:2px solid #e7b276; border-radius:100px 14px 75px 14px; padding:65px 6%; background:radial-gradient(ellipse at 5% 0,#cd824735,transparent 65%),linear-gradient(135deg,#49233dde,#281439eb); margin-bottom:45px; }
.home-page .updates-section h2 { color:#ffda9e }
.home-page .inline-fields .newsletter-input { border-radius:18px 5px 18px 5px; border-color:#b080c3 }
.home-page .inline-fields .newsletter-button { border-radius:5px 25px 5px 25px; background:linear-gradient(120deg,#ffdfa4,#efb568) }
.home-page .site-footer { border-top-color:#d794d650; border-radius:35% 0 0 0 / 15px 0 0 0 }
.home-page .newsletter-window,.field-guide .newsletter-window { border-radius:44px 8px 38px 8px; border-color:#d5a9e499; border-top-color:#ffcd7f; background:radial-gradient(ellipse at 0 0,#a9593744,transparent 60%),linear-gradient(140deg,#44213fea,#251330fa); box-shadow:0 0 0 5px #9c65af18,0 18px 55px #08021199; }
.home-page .newsletter-button,.field-guide .newsletter-button { background:linear-gradient(115deg,#ffdfa4,#ecc078); border-color:#ffd896 }
.home-page .newsletter-copy h2,.field-guide .newsletter-copy h2 { color:#ffe1b3 }
.home-page .newsletter-input,.field-guide .newsletter-input { border-color:#a777bb; background:#1b0d27 }
.signal-signature { display:none }
@media(min-width:1100px) {
    .newsletter-open .signal-signature { display:block; position:fixed; z-index:2; width:260px; right:45px; top:145px; text-align:center; color:#d6a9eb; pointer-events:none; }
    .signal-signature svg { width:200px; height:150px; color:#c58cec; overflow:visible }
    .signal-signature .signal-label { display:block; font:500 12px 'Barlow Condensed',sans-serif; letter-spacing:.2em; color:#f0c58c; margin:10px 0 14px }
    .signal-signature p { font-size:16px; line-height:1.6; max-width:23ch; margin:auto; color:#d4afd7 }
}
@media(min-width:1100px) and (max-height:780px) { .newsletter-open .signal-signature { top:115px } .signal-signature svg { height:85px } .signal-signature p { display:none } }
@media(max-width:760px) {
    .home-page .site-header { padding-bottom:14px; gap:9px 12px }
    .home-page .site-header nav a,.field-guide #tablist a { font-size:16px; padding:7px 9px }
    .home-page .opening { padding-top:36px }
    .hero-orbit { top:0; width:65%; height:200px; opacity:.3 }
    .home-page .opening-photo { padding:8px }
    .home-page .opening-photo img { aspect-ratio:1.22 }
    .home-page .opening-photo figcaption { padding-left:12px }
    .home-page .story-section { padding-block:60px }
    .home-page .ship-principles { gap:18px }
    .home-page .ship-principles > div { padding:22px }
    .home-page .crew-section { padding:45px 24px; border-radius:55px 8px 60px 8px }
    .home-page .crew-heading h2 { font-size:33px }
    .home-page .crew-grid { gap:20px }
    .home-page .work-stories { grid-template-columns:1fr; gap:35px }
    .home-page .work-stories article:nth-child(2) { padding-top:0; padding-left:12px }
    .home-page .work-stories article:first-child { padding-right:12px }
    .home-page .danger { padding-top:0 }
    .home-page .listening-scene { border-radius:16% 4% 16% 4% / 15% 5% 15% 5% }
    .home-page .listening-intro h2 { font-size:49px }
    .home-page .world-invitation { padding-block:70px; gap:40px }
    .home-page .orbital-mark { margin:0 0 10px 15px; width:190px }
    .home-page .updates-section { padding:45px 22px; border-radius:55px 8px 60px 8px }
    .home-page .updates-section h2 { font-size:30px }
    .home-page .updates-section h2 br { display:none }
    .home-page .newsletter-window,.field-guide .newsletter-window { border-radius:32px 8px 26px 8px }
}
/* The same physical, colourful language carries into the guide. */
.field-guide .console { background:transparent }
.field-guide .sec-kicker { color:#ffcc80 }
.field-guide .sec-title { color:#efc3ff; text-shadow:0 0 35px #a461cc35 }
.field-guide .sec-lead { color:#dec8e4 }
.field-guide .guide-directory select { color:#ffe2b3; background:#321b42; border-color:#bd8ed0; border-radius:24px 6px 24px 6px }
.field-guide .viewport-inner { border-radius:13% 3% 15% 3% / 20% 6% 22% 6%; box-shadow:0 0 0 5px #ba7ccb19 }
.field-guide .viewport-frame { border-color:#d49de28c; border-radius:inherit }
.field-guide .feature-card,.field-guide .ship-system-card { border:1px solid #c994dd45; border-left:2px solid #cea2e677; border-radius:32px 7px 35px 7px; background:linear-gradient(130deg,#61325180,#2b193a80); box-shadow:0 15px 25px #0e051722; }
.field-guide .feature-card:nth-child(even),.field-guide .ship-system-card:nth-child(even) { border-left-color:#e9b67899; border-radius:7px 32px 7px 35px; background:linear-gradient(130deg,#76453855,#2b193a80) }
.field-guide .ship-opening-note { padding:24px; background:linear-gradient(135deg,#9e5b3e40,#48294366); border-left:1px solid #e5b77a99; border-radius:35px 7px 35px 7px }
.field-guide .viewport-caption { color:#dcbbeb; padding:12px 16px; border-bottom:1px solid #b57ec855; border-radius:0 0 35px 8px }
.field-guide .panel-next-btn { border-radius:30px 7px 30px 7px }
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *::before, .home-page *::after { transition:none!important } }
.home-page .opening-photo::before { bottom:75px }
@media(min-width:1100px) and (max-height:650px) { .newsletter-open .signal-signature { display:none } }
@media(max-width:360px) {
    .home-page .site-header .brand { font-size:18px; gap:10px }
    .home-page .brand-sun { width:10px; height:10px }
    .field-guide .header-title { font-size:20px }
    .field-guide .header-newsletter { font-size:14px; padding:8px 10px }
}
.home-page .opening::before { mask-image:radial-gradient(ellipse at 50% 42%,#000 30%,transparent 76%) }
@media(max-width:760px) { .hero-orbit { right:18px } }

/* A well-thumbed shipboard manual, with several obvious ways in. */
.home-page .site-header nav .guide-nav,.field-guide #tablist .guide-nav { color:#ffe0a0; background:linear-gradient(110deg,#a456533d,#7846a13d); box-shadow:inset 0 -1px #efbd7f99 }
.home-page .footer-guide { color:#ffd17c; text-underline-offset:5px }
.guide-invitation { position:relative; display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:35px 45px; align-items:center; margin:95px 0 5px; padding:50px 5% 30px; border:1px solid #b98ddd70; border-top-color:#edbc7b; border-radius:12px 100px 16px 80px; background:radial-gradient(ellipse at 0 0,#b655593b,transparent 60%),linear-gradient(130deg,#45213ae6,#27163de8); box-shadow:0 20px 50px #09031355; }
.guide-cover { position:relative; width:100%; max-width:310px; padding:30px 25px; color:#e5b98d; border:1px solid #c295d0; border-right:5px solid #956386; border-radius:55px 12px 65px 12px; background:radial-gradient(ellipse at 75% 20%,#7946956b,transparent 65%),linear-gradient(125deg,#613249,#241734); transform:rotate(-5deg); box-shadow:8px 8px 0 #160d2599,0 20px 35px #0c051a66; }
.guide-cover::before { content:''; position:absolute; inset:10px; border:1px solid #e0b28544; border-radius:45px 6px 55px 6px; pointer-events:none }
.guide-cover-edition { position:relative; display:block; font:500 11px/1.5 'Barlow Condensed',sans-serif; letter-spacing:.14em; text-align:center }
.guide-cover svg { width:100%; height:auto; display:block; margin:2px auto -12px }
.guide-cover strong { position:relative; display:block; font:700 clamp(28px,3.4vw,48px)/.98 'Tektur',sans-serif; color:#ffe0a0; letter-spacing:.04em }
.guide-cover-note { display:block; font-size:16px; font-style:italic; color:#d6b5e8; margin-top:16px }
.guide-invitation-copy { min-width:0 }
.guide-invitation-copy h2 { color:#ffe1a8; font-size:clamp(34px,4vw,57px); line-height:1.1; letter-spacing:-.025em }
.guide-invitation-copy h2 em { color:#d4a4ff; font-style:normal }
.guide-invitation-copy > p:not(.eyebrow) { margin:22px 0 25px; color:#e0c8e2; max-width:43ch }
.guide-routes { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:15px }
.guide-routes a { display:flex; align-items:center; gap:12px; padding:18px 12px; color:#f3c98b; text-decoration:none; border-top:1px solid #ce9aff55; border-radius:25px 5px 25px 5px; transition:background .2s }
.guide-routes a:nth-child(2) { color:#a6e5d6; border-color:#a6e5d655 }
.guide-routes a:nth-child(3) { color:#d4a4ff }
.guide-routes a:hover { background:#bb83d220 }
.guide-route-number { font:500 22px 'Barlow Condensed',sans-serif; opacity:.75 }
.guide-routes strong { display:block; font:600 22px 'Barlow Condensed',sans-serif }
.guide-routes small { display:block; font-size:15px; line-height:1.4; color:#d3badc; margin-top:5px }
.guide-routes b { margin-left:auto; font-size:20px; font-weight:400 }
.field-guide .guide-directory { align-items:flex-end; gap:24px; padding-top:38px }
.guide-masthead { flex:1; min-width:0 }
.guide-masthead > a { color:#d3aedf; font-size:15px; text-underline-offset:4px }
.guide-masthead p { font:500 clamp(23px,2.4vw,34px)/1.2 'Tektur',sans-serif; color:#ffe0a0; margin:18px 0 10px }
.guide-masthead strong { color:#d6a7ff; font-weight:500 }
.guide-masthead > span { display:block; color:#d4badf; font:400 17px/1.45 'Alegreya Sans',sans-serif; max-width:48ch }
.guide-topic-picker { display:flex; flex-direction:column; gap:9px; min-width:0; max-width:100%; }
.field-guide .guide-directory label { color:#e5c095 }

/* Instruments retain their own accent colours and familiar controls. */
.field-guide :is(.market-console,.salvage-console,.gunnery-console,.dossier,.story-relay,.sound-console) { background:radial-gradient(ellipse at 5% 0,rgba(var(--accent-rgb),.13),transparent 65%),linear-gradient(135deg,#38213ee8,#1d122beF); border-color:rgba(var(--accent-rgb),.5); box-shadow:0 0 0 5px rgba(var(--accent-rgb),.035),0 20px 45px #09031155; }
.field-guide :is(.market-console-head,.salvage-console-head,.dossier-chrome,.story-relay-chrome,.sound-console-chrome) { background:linear-gradient(100deg,rgba(var(--accent-rgb),.12),#c18ad20b); border-bottom-color:rgba(var(--accent-rgb),.3) }
.field-guide .gunnery-console { border-radius:55px 12px 55px 12px; overflow:hidden }
.field-guide .dossier { border-top-color:#a6e5d6 }
.field-guide .dossier-roster .roster-row.active { background:linear-gradient(110deg,#40775e55,#49305b33) }
.field-guide .story-relay { border-top-color:#d9a7f5 }
.field-guide .sound-console { border-top-color:#a6e5d6 }
.field-guide .sound-scope { border-radius:32px 8px 32px 8px }
.field-guide .audio-track { border-radius:26px 6px 26px 6px }
.field-guide .faction-detail { border-radius:40px 8px 40px 8px; background:linear-gradient(125deg,rgba(var(--accent-rgb),.1),#241432c9) }
.field-guide .snoas-term { border-radius:38px 8px 32px 8px; border-color:#d19ce080; border-top-color:#ffd17c; background:linear-gradient(130deg,#3b213ded,#1c1128fa); backdrop-filter:none; }
.field-guide .snoas-term-head { padding:12px 18px; color:#e4be88; background:#c18ad210 }
.field-guide .snoas-term-close { width:36px; height:36px; border-radius:50%; font-size:22px; color:#edc6ff }
.field-guide .snoas-term-scroll { padding:16px 20px; font-size:12px }
.field-guide .snoas-term-line { color:#bde3ce }
.field-guide .snoas-term-line.you { color:#ffe0a0 }
.field-guide .snoas-term-line.crack { color:#d7abff }
.field-guide .snoas-term-form { padding:12px 20px }
.field-guide .snoas-term-input { font-size:13px }
.field-guide .snoas-term-input::placeholder { color:#bba4c8 }
.field-guide .lightbox { background:#15091beb; backdrop-filter:none }
.field-guide .lightbox-inner { padding:8px; border:1px solid #d5a5e088; border-radius:26px 6px 26px 6px; background:linear-gradient(130deg,#58304e,#29183b) }
.field-guide .lightbox-inner img { max-width:calc(94vw - 18px); border-radius:18px 3px 18px 3px }
.field-guide .lightbox-close { border-radius:50%; border-color:#d6a0e5; background:#382044; color:#ffe0a0; width:44px; height:44px }
.home-page #screenshot-viewer { border-radius:45px 9px 40px 9px; border-color:#d5a5e088; background:linear-gradient(130deg,#48233f,#231333); box-shadow:0 0 0 5px #a36bb520 }
.home-page #screenshot-viewer::backdrop { background:#15091bea }
.home-page #screenshot-viewer img { border-radius:18px 4px 18px 4px }

/* Observation deck: painted housings, clear glass, no new animated layers. */
.tour-page { --text:#fff0d9; --dim:#dbc2e3; --dimmer:#ba9eca; }
.tour-page .top-title .side-title { color:#ffe0a0; background:linear-gradient(170deg,#fff0c9,#ffd17c 60%,#d996ce); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; text-shadow:none }
.tour-page .top-title .side-tagline { color:#d9b9e8 }
.tour-page .top-title .side-badge { color:#ccb1d5 }
.tour-page .observatory-frame { border-color:#d29ae24a; border-bottom-color:#e7ba7166 }
.tour-page .observatory-frame::before { border-color:#c587d024 }
.tour-page .expedition { border-top-color:#c795e485; background:radial-gradient(ellipse at 0 0,#aa624336,transparent 60%),linear-gradient(125deg,#46233df7,#251433f5); box-shadow:0 0 0 5px #b479c511,0 20px 50px #09031166 }
.tour-page #expedition-title { color:#ffe0a0 }
.tour-page #expedition-summary { color:#dbc2e3 }
.tour-page .expedition-kicker { color:#d4aadf }
.tour-page .expedition-kicker span:last-child { color:#ffd17c }
.tour-page .destination-controls select { border-color:#b987cf; background:#241332; color:#ffe0a0 }
.tour-page .destination-controls button { border-color:#ba87c475; background:#4b2850; color:#f2d4ff }
.tour-page .expedition-actions button:not(:disabled) { color:#ffcf8e }
.tour-page .tour-status { color:#ccb0d6 }
.tour-page .info-card { background:radial-gradient(ellipse at 0 0,#9c523636,transparent 65%),linear-gradient(130deg,#40213efa,#20122efa); border-color:#bd8ed0; border-top-color:#ffd17c }
.tour-page .card-desc { color:#e4cce7 }
.tour-page .info-card-close { color:#ffe0a0; background:#ba83cd19 }
.tour-page .card-guide-link { display:block; margin-top:20px; padding:14px 0 3px; border-top:1px solid #bf8eda55; color:#ffd17c; font:500 1rem/1.5 'Alegreya Sans',sans-serif; text-underline-offset:5px }
.tour-page #tour-nav { background:linear-gradient(120deg,#43223df5,#251433fa); border:1px solid #c796da70; border-top-color:#e6b67d99 }
.tour-page .guide-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:8px 16px; border:1px solid #f3c78a; border-radius:25px 6px 25px 6px; background:linear-gradient(120deg,#ffdfa4,#ecc078); color:#33162f; text-decoration:none; font:600 .9rem 'Barlow Condensed',sans-serif; letter-spacing:.04em; }
.tour-page .guide-link:hover { background:#ffe9bb }
.tour-page .listening-control { background:linear-gradient(100deg,#4c2558e0,#2b174786); border-color:#d5a4ef; border-radius:28px 6px 28px 6px }
.tour-page .listening-control button { color:#ecc9ff }
.tour-page .listening-control p { color:#d2b3e0 }
.tour-page .newsletter-window { border-radius:44px 8px 38px 8px; border-color:#d5a9e499; border-top-color:#ffcd7f; background:radial-gradient(ellipse at 0 0,#a9593744,transparent 60%),linear-gradient(140deg,#44213ff5,#251330fa); box-shadow:0 0 0 5px #9c65af18,0 18px 55px #08021199 }
.tour-page .newsletter-button { background:linear-gradient(115deg,#ffdfa4,#ecc078); border-color:#ffd896 }
.tour-page .newsletter-copy h2 { color:#ffe1b3 }
.tour-page .newsletter-input { border-color:#a777bb; background:#1b0d27 }
.tour-page .fallback-content { margin:4rem auto calc(var(--tour-dock-clearance) + 2rem); padding:3rem clamp(1.2rem,5vw,3rem); width:calc(100% - 2rem); border:1px solid #c18cd280; border-radius:65px 10px 65px 10px; background:radial-gradient(ellipse at 0 0,#84433a66,transparent 70%),#281632eb }
.tour-page .fallback-content > p { color:#dfc5e4!important }
.tour-page .fallback-content > h2 { opacity:1!important; color:#d8acff!important }
.tour-page .fallback-guide { margin-bottom:2rem }
@media(max-width:1100px) {
    .guide-routes { grid-template-columns:1fr; gap:0; margin-top:0 }
    .guide-routes a { padding:16px 20px }
    .guide-route-number { min-width:24px }
    .field-guide .guide-topic-picker { width:100% }
}
@media(max-width:760px) {
    .guide-invitation { margin-top:65px; padding:35px 22px 24px; border-radius:8px 60px 8px 50px; grid-template-columns:1fr; gap:30px }
    .guide-cover { width:190px; margin:0 auto; padding:24px 22px }
    .guide-cover-edition { font-size:9px }
    .guide-cover svg { height:135px; margin:0 auto -5px }
    .guide-cover strong { font-size:33px }
    .guide-cover-note { font-size:14px; margin-top:12px }
    .guide-invitation-copy h2 { font-size:38px }
    .guide-routes a { padding:16px 5px; gap:10px }
    .guide-routes strong { font-size:21px }
    .guide-routes small { font-size:14px }
    .field-guide .guide-directory { padding-top:25px }
    .guide-masthead p { font-size:26px }
    .guide-masthead > span { font-size:16px }
    .field-guide .guide-topic-picker { gap:8px }
    .tour-page .newsletter-window { border-radius:32px 8px 26px 8px }
    .tour-page #tour-nav .guide-link { padding:6px 12px; font-size:.85rem }
}
.tour-page .back-link-short { display:none }
@media(max-width:768px) {
    .tour-page .back-link-full { display:none }
    .tour-page .back-link-short { display:inline }
    .tour-page #tour-nav :is(.back-link,.music-btn) { font-family:'Barlow Condensed',sans-serif; font-size:.85rem; letter-spacing:.02em; text-transform:none; padding:.3rem .4rem; gap:4px }
}
@media(max-width:760px) {
    .tour-page .newsletter-window { padding:18px; gap:10px }
    .tour-page .newsletter-kicker { display:none }
    .tour-page .newsletter-copy h2 { font-size:18px; margin-bottom:5px }
    .tour-page .newsletter-copy > p:last-child { font-size:15px; max-width:31ch }
    .tour-page .newsletter-fields { grid-template-columns:minmax(0,1fr) auto; gap:8px }
    .tour-page .newsletter-button { padding:8px 12px; font-size:15px }
    .tour-page .newsletter-input { min-width:0; font-size:16px; padding:8px }
    .tour-page .newsletter-form label { font-size:14px }
}

/* An invitation into three different ways of getting to know Sunfarers. */
.home-page .hero-destinations { gap:14px; align-items:stretch }
.home-page .hero-destinations .button { font-size:17px; padding:13px 20px; justify-content:space-between; gap:18px }
.home-page .hero-destinations .tour-button { background:linear-gradient(125deg,#623764,#38204f); color:#f0d2ff; border-color:#c79ce5; box-shadow:0 5px 0 #25103266 }
.home-page .hero-destinations .tour-button:hover { background:linear-gradient(125deg,#774575,#492860); border-color:#e2baff }
.home-page .boarding-link { display:flex; align-items:center; gap:15px; width:fit-content; margin-top:25px; padding:8px 0; color:#ffdc9b; text-decoration:none; font-size:20px; line-height:1.35 }
.home-page .boarding-link > span:first-child { display:grid; place-items:center; width:35px; height:48px; border:1px solid #d1a1de75; border-radius:22px; color:#d9aff5; transition:transform .2s }
.home-page .boarding-link:hover > span:first-child { transform:translateY(4px) }
.home-page .boarding-link small { display:block; font-size:16px; color:#d6bddf; margin-top:5px }
.home-page .opening-photo::before { bottom:0 }
.home-page .opening-photo img { aspect-ratio:.92 }
.home-page .work-stories h3 { margin-top:28px }
/* Image-local overlays preserve the photograph's detail and curved frame. */
.signal-capture { position:relative; isolation:isolate }
.capture-signal { position:absolute; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none; z-index:3 }
.capture-scanlines { position:absolute; inset:0; background:repeating-linear-gradient(0deg,#08051a26 0px,#08051a26 1px,transparent 1px,transparent 4px); opacity:.5 }
.capture-slip { position:absolute; inset:0; opacity:0; background:linear-gradient(0deg,transparent 0 29%,#88e8dc20 29% 29.5%,transparent 29.5% 62%,#dca6ff29 62% 63%,#160a261f 63% 66%,transparent 66% 82%,#ffe3ad20 82% 82.4%,transparent 82.4%); }
.signal-in-view .capture-slip { animation:capture-reception 850ms steps(1,end) 1 }
@keyframes capture-reception {
    0%,20%,47%,76%,100% { opacity:0; transform:translateY(0) }
    12% { opacity:.5; transform:translateY(-7%) }
    35% { opacity:.65; transform:translateY(4%) }
    64% { opacity:.4; transform:translateY(-2%) }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    .signal-capture:hover .capture-slip { animation:capture-hover 650ms steps(1,end) 1 }
    @keyframes capture-hover { 0%,40%,100% { opacity:0; transform:translateY(0) } 25% { opacity:.5; transform:translateY(3%) } 65% { opacity:.35; transform:translateY(-4%) } }
}
@media(prefers-reduced-motion:reduce) { .capture-slip { display:none!important } }
@media(max-width:1199px) and (min-width:1100px) { .home-page .opening-photo img { aspect-ratio:1.7 } }
@media(max-width:760px) {
    .home-page .opening-photo img { aspect-ratio:1.22 }
    .home-page .hero-destinations { gap:12px }
    .home-page .hero-destinations .button { flex:1 1 220px; padding:12px 18px }
    .home-page .boarding-link { font-size:19px }
}
@media(min-width:761px) { .home-page .hero-destinations .button { font-size:16px; padding:12px 14px; gap:12px } }
