@property --progress { syntax:"<angle>"; inherits:false; initial-value:0deg; }
:root { color-scheme:dark; --gold:#d8b86b; --gold-light:#f0d995; --mist:#e8eee8; --deep:#07110c; --panel:#0d1a12; --line:rgba(216,184,107,.18); --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html.home-discovery { overflow-x:clip; }
body { margin:0; min-height:100%; color:var(--mist); font-family:Georgia,"Times New Roman",serif; background:radial-gradient(circle at 50% -10%,rgba(69,121,82,.32),transparent 42rem),linear-gradient(155deg,#050a07,#0b1b12 56%,#050d08); overflow-x:clip; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
.ambient::before,.ambient::after { content:""; position:fixed; z-index:-1; width:52vw; height:52vw; border:1px solid rgba(216,184,107,.1); border-radius:44% 56% 63% 37%; animation:drift 22s ease-in-out infinite alternate; }
.ambient::before { left:-30vw; top:-25vw; transform:rotate(18deg); }
.ambient::after { right:-32vw; bottom:-30vw; animation-delay:-9s; }
.home { width:min(1180px,calc(100% - 36px)); margin:auto; padding:clamp(32px,7vw,88px) 0 48px; }
.watch-page { width:min(1020px,calc(100% - 36px)); margin:auto; padding:clamp(28px,6vw,72px) 0 48px; }
.world-home { padding-top:0; }
.site-nav { position:sticky; top:0; z-index:20; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; min-height:70px; padding:env(safe-area-inset-top) max(20px,calc((100vw - 1180px)/2)) 0; border-bottom:1px solid rgba(216,184,107,.12); background:rgba(5,13,8,.9); box-shadow:0 8px 28px rgba(0,0,0,.16); backdrop-filter:blur(18px); }
.brand { color:var(--mist); font-size:1.08rem; text-decoration:none; letter-spacing:.02em; white-space:nowrap; }
.brand span { color:var(--gold); }
.site-nav nav { display:flex; justify-content:center; gap:clamp(16px,3vw,34px); margin:0; }
.site-nav nav a,.nav-cta { color:rgba(232,238,232,.65); text-decoration:none; font:700 .68rem/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; transition:.2s ease; }
.site-nav nav a:hover { color:var(--gold-light); }
.site-nav nav a[aria-current="page"] { color:var(--gold-light); }
.nav-cta { padding:11px 16px; border:1px solid var(--line); border-radius:999px; color:var(--gold-light); }
.world-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.95fr); align-items:center; gap:clamp(42px,6vw,88px); min-height:calc(100vh - 70px); padding:70px 0; }
.hero-copy h1,.section-heading h2,.learning-copy h2,.closing-section h2 { margin:0; font-weight:400; letter-spacing:-.04em; text-wrap:balance; }
.hero-copy h1 { font-size:clamp(3.2rem,6.3vw,6.6rem); line-height:.91; }
.eyebrow,.number,.land-number { margin:0 0 12px; color:var(--gold); font:700 .7rem/1.3 var(--sans); letter-spacing:.25em; text-transform:uppercase; }
.lede { max-width:700px; margin:25px 0 30px; color:rgba(232,238,232,.72); font:400 clamp(1rem,1.45vw,1.12rem)/1.75 var(--sans); }
.lede strong { color:var(--mist); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.hero-actions .primary { padding:18px 32px; font-size:.92rem; border:0; cursor:pointer; }
.hero-actions .primary span { font-size:1.2em; line-height:1; }
.hero-story-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; max-width:100%; padding:13px 18px; border:1px solid var(--gold); border-radius:999px; color:var(--gold-light); background:var(--panel); text-decoration:none; text-align:center; font:700 .84rem/1.4 var(--sans); letter-spacing:0; transition:transform .25s,border-color .25s,box-shadow .25s; }
.hero-story-button:hover { transform:translateY(-2px); border-color:var(--gold-light); box-shadow:0 12px 34px var(--line); }
.hero-actions a:focus-visible,.hero-actions button:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
@media(max-width:620px) { .world-home .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }.world-home .hero-actions .primary { justify-content:center; min-height:48px; }.world-home .hero-actions .text-button { min-height:44px; }.world-home .world-hero { padding-top:32px; }.world-home .hero-copy h1 { font-size:3rem; letter-spacing:0; }.world-home .lede { margin:20px 0 22px; } }
.primary { display:inline-flex; gap:16px; align-items:center; color:#132018; background:var(--gold); padding:14px 20px; border-radius:999px; text-decoration:none; font:700 .78rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; transition:.2s ease; }
.primary:hover { transform:translateY(-2px); box-shadow:0 12px 34px rgba(216,184,107,.18); }
.text-button { padding:10px 0; border:0; color:var(--mist); background:transparent; cursor:pointer; font:700 .77rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.text-button span { margin-left:9px; color:var(--gold); }
.concept-line { display:flex; gap:18px; margin:30px 0 0; color:rgba(232,238,232,.42); font:700 .67rem/1.4 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.concept-line b+ b::before { content:"·"; margin-right:18px; color:var(--gold); }
.hero-map { position:relative; margin:0; }
.hero-map::before { content:""; position:absolute; inset:8% 2% -2%; border-radius:50%; background:rgba(62,130,92,.22); filter:blur(48px); }
.hero-map img { position:relative; display:block; width:100%; border:1px solid var(--line); border-radius:49% 51% 46% 54%/43% 46% 54% 57%; box-shadow:0 38px 100px rgba(0,0,0,.48); }
.hero-map figcaption { position:relative; max-width:420px; margin:16px auto 0; color:rgba(232,238,232,.45); text-align:center; font:600 .67rem/1.5 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.section { padding:clamp(78px,10vw,138px) 0; border-top:1px solid rgba(216,184,107,.12); }
.section-heading { max-width:790px; margin-bottom:44px; }
.section-heading.centered { margin-right:auto; margin-left:auto; text-align:center; }
.section-heading h2,.learning-copy h2,.closing-section h2 { font-size:clamp(2.45rem,5vw,5rem); line-height:1; }
.section-heading>p:last-child { max-width:680px; margin:19px 0 0; color:rgba(232,238,232,.62); font:400 1rem/1.7 var(--sans); }
.section-heading.centered>p:last-child { margin-right:auto; margin-left:auto; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.steps article { min-height:245px; padding:25px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,rgba(20,42,28,.8),rgba(8,17,12,.78)); }
.steps span { color:var(--gold); font:700 .68rem/1 var(--sans); letter-spacing:.17em; }
.steps h3 { margin:52px 0 12px; font-size:1.5rem; font-weight:400; }
.steps p { margin:0; color:rgba(232,238,232,.58); font:400 .87rem/1.65 var(--sans); }
.map-explorer { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); gap:25px; align-items:stretch; }
.map-stage { position:relative; min-height:600px; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#0b160e; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.map-stage::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 80px rgba(1,8,4,.65); }
.map-stage>img { display:block; width:100%; height:100%; min-height:600px; object-fit:cover; }
.hotspot { position:absolute; z-index:2; display:flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid rgba(240,217,149,.28); border-radius:999px; color:#fff; background:rgba(5,13,8,.72); box-shadow:0 5px 18px rgba(0,0,0,.35); cursor:pointer; font:700 .59rem/1 var(--sans); letter-spacing:.07em; text-transform:uppercase; backdrop-filter:blur(8px); transition:.2s ease; }
.hotspot span { width:9px; height:9px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(216,184,107,.18),0 0 14px var(--gold); }
.hotspot:hover,.hotspot.active { color:#101b14; border-color:var(--gold); background:var(--gold); transform:translateY(-2px); }
.hotspot.active span { background:#173923; box-shadow:none; }
.hotspot.realm { left:47%; top:49%; }.hotspot.grasslands { left:12%; top:62%; }.hotspot.mountains { left:37%; top:9%; }.hotspot.waterlands { right:4%; top:24%; }.hotspot.savanna { right:7%; bottom:10%; }.hotspot.jungle { left:21%; bottom:7%; }
.map-detail { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,50px); border:1px solid var(--line); border-radius:22px; background:linear-gradient(155deg,rgba(18,39,26,.95),rgba(7,15,10,.96)); }
.map-detail h3 { margin:0; font-size:clamp(2.2rem,4vw,4rem); font-weight:400; line-height:1; }
.craft-label { color:var(--gold-light)!important; font:700 .72rem/1.4 var(--sans)!important; letter-spacing:.13em; text-transform:uppercase; }
.map-detail>p:not(.eyebrow,.craft-label) { color:rgba(232,238,232,.65); font:400 .94rem/1.7 var(--sans); }
.experience { margin-top:25px; padding-top:21px; border-top:1px solid var(--line); }
.experience span { color:rgba(232,238,232,.42); font:700 .64rem/1 var(--sans); letter-spacing:.15em; text-transform:uppercase; }
.experience p { margin:9px 0 0; font:400 .91rem/1.65 var(--sans); }
.map-entry { align-self:flex-start; margin-top:25px; }
.land-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.land-card { grid-column:span 2; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:rgba(13,26,18,.84); box-shadow:0 22px 60px rgba(0,0,0,.22); }
.land-card:nth-child(4) { grid-column:2/span 2; }
.land-card img { display:block; width:100%; aspect-ratio:1.3/1; object-fit:cover; object-position:center 34%; }
.land-card>div { padding:24px 24px 28px; }
.land-card h3 { margin:0; font-size:2rem; font-weight:400; }
.land-card .craft-label { margin:9px 0 13px; }
.land-card>div>p:last-child { margin:0; color:rgba(232,238,232,.6); font:400 .88rem/1.65 var(--sans); }
.learning-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(42px,7vw,92px); align-items:center; }
.learning-image { position:relative; }
.learning-image::after { content:""; position:absolute; inset:20px -16px -16px 20px; z-index:-1; border:1px solid rgba(216,184,107,.24); border-radius:22px; }
.learning-image img { display:block; width:100%; min-height:570px; object-fit:cover; border-radius:22px; }
.learning-copy>h2 { margin-bottom:36px; }
.learning-points article { display:grid; grid-template-columns:105px 1fr; gap:22px; padding:20px 0; border-top:1px solid var(--line); }
.learning-points span { color:var(--gold-light); font:700 .72rem/1.5 var(--sans); letter-spacing:.13em; text-transform:uppercase; }
.learning-points p { margin:0; color:rgba(232,238,232,.62); font:400 .91rem/1.65 var(--sans); }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.video-card { position:relative; min-height:218px; padding:26px; overflow:hidden; border:1px solid var(--line); border-radius:16px; color:var(--mist); text-align:left; background:radial-gradient(circle at 100% 0,rgba(76,128,88,.32),transparent 55%),rgba(10,22,14,.9); cursor:pointer; transition:.25s ease; }
.video-card:hover { transform:translateY(-5px); border-color:rgba(216,184,107,.54); }
.video-index { color:rgba(216,184,107,.54); font:700 .66rem/1 var(--sans); letter-spacing:.15em; }
.video-play { position:absolute; top:21px; right:21px; display:grid; place-items:center; width:38px; height:38px; padding-left:2px; border:1px solid rgba(216,184,107,.4); border-radius:50%; color:var(--gold); font:700 .65rem var(--sans); }
.video-card strong { display:block; max-width:250px; margin-top:72px; font-size:1.35rem; font-weight:400; line-height:1.15; }
.video-card small { display:block; margin-top:9px; color:rgba(232,238,232,.46); font:400 .76rem/1.5 var(--sans); }
.chapters { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.chapter { display:block; color:inherit; text-decoration:none; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:rgba(13,26,18,.82); box-shadow:0 24px 60px rgba(0,0,0,.25); transition:.28s ease; }
.chapter:hover { transform:translateY(-6px); border-color:rgba(216,184,107,.52); box-shadow:0 30px 80px rgba(0,0,0,.42); }
.poster { position:relative; aspect-ratio:16/10; overflow:hidden; background:#030705; }
.poster::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(3,7,5,.55)); }
.poster img { width:100%; height:100%; object-fit:cover; transition:.5s ease; }
.chapter:hover img { transform:scale(1.035); }
.play { position:absolute; z-index:1; left:20px; bottom:17px; display:grid; place-items:center; width:42px; height:42px; padding-left:3px; border-radius:50%; color:#132018; background:var(--gold); font:700 .7rem var(--sans); }
.chapter-copy { padding:22px 22px 26px; }
.chapter h2,.chapter h3 { margin:0 0 10px; font-size:clamp(1.45rem,2.5vw,2.05rem); font-weight:400; }
.chapter-copy p:last-child { margin:0; color:rgba(232,238,232,.6); font:400 .9rem/1.6 var(--sans); }
.closing-section { max-width:920px; margin:20px auto 0; padding:clamp(90px,13vw,170px) 0; text-align:center; }
.closing-section h2 { margin-bottom:34px; }
footer,.film-meta { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; color:rgba(232,238,232,.42); font:600 .69rem/1.4 var(--sans); letter-spacing:.13em; text-transform:uppercase; text-align:center; }
footer { margin-top:32px; }
footer i,.film-meta i { width:4px; height:4px; border-radius:50%; background:var(--gold); }
.video-dialog { width:min(1000px,calc(100% - 30px)); padding:0; border:1px solid rgba(216,184,107,.34); border-radius:20px; color:var(--mist); background:#08120c; box-shadow:0 35px 130px rgba(0,0,0,.8); }
.video-dialog::backdrop { background:rgba(1,5,3,.84); backdrop-filter:blur(9px); }
.dialog-head { display:flex; justify-content:space-between; align-items:center; padding:20px 23px; }
.dialog-head .eyebrow { margin-bottom:6px; }
.dialog-head h2 { margin:0; font-size:1.45rem; font-weight:400; }
.dialog-head button { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--mist); background:transparent; cursor:pointer; font:300 1.6rem/1 var(--sans); }
.video-embed { aspect-ratio:16/9; background:#000; }
.video-embed iframe { display:block; width:100%; height:100%; border:0; }

/* Film player */
.watch-page>nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:clamp(42px,6vw,72px); color:rgba(232,238,232,.48); font:600 .71rem/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.watch-page>nav a { color:var(--gold); text-decoration:none; }
.watch-header { text-align:center; max-width:860px; margin:0 auto 34px; }
.watch-header h1 { margin:0; font-weight:400; font-size:clamp(2.4rem,6vw,5.2rem); line-height:.95; letter-spacing:-.045em; text-wrap:balance; }
.frame { position:relative; padding:1px; border-radius:18px; overflow:hidden; background:linear-gradient(135deg,rgba(216,184,107,.75),rgba(216,184,107,.04) 45%,rgba(157,200,171,.45)); box-shadow:0 34px 100px rgba(0,0,0,.48); }
video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:17px; background:#020503; }
.up-next { position:absolute; inset:1px; z-index:4; display:flex; align-items:flex-end; padding:clamp(24px,5vw,64px); border-radius:17px; overflow:hidden; background:#020503; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .55s ease,visibility .55s ease; }
.up-next.visible { opacity:1; visibility:visible; pointer-events:auto; }
.up-next-backdrop { position:absolute; inset:0; background-position:center; background-size:cover; transform:scale(1.035); animation:nextReveal 8s ease-out both; }
.up-next-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,5,3,.75),transparent 70%); }
.up-next-content { position:relative; z-index:1; max-width:680px; }
.up-next h2 { margin:0; font-weight:400; font-size:clamp(2rem,5vw,4.6rem); line-height:1; letter-spacing:-.035em; text-wrap:balance; }
.up-next-content>p:not(.eyebrow) { max-width:600px; margin:17px 0 24px; color:rgba(232,238,232,.75); font:400 clamp(.88rem,1.5vw,1rem)/1.6 var(--sans); }
.up-next-actions { display:flex; align-items:center; gap:16px; }
.countdown-button { --countdown:7s; position:relative; width:64px; height:64px; flex:0 0 64px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:#132018; background:rgba(216,184,107,.2); cursor:pointer; }
.countdown-ring { --progress:0deg; position:absolute; inset:0; border-radius:50%; background:conic-gradient(var(--gold) var(--progress),rgba(232,238,232,.2) var(--progress)); }
.countdown-button.counting .countdown-ring { animation:countdownFill var(--countdown) linear forwards; }
.countdown-ring::after { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--gold); }
.countdown-play { position:relative; z-index:1; padding-left:3px; font:700 .9rem var(--sans); }
.up-next-actions strong { display:block; color:var(--mist); font:700 .82rem/1.2 var(--sans); }
.cancel-next { margin-top:7px; padding:0; border:0; color:rgba(232,238,232,.6); background:transparent; cursor:pointer; font:600 .7rem/1 var(--sans); letter-spacing:.11em; text-transform:uppercase; }
.cancel-next:hover { color:var(--gold); }
.up-next.coming-soon { align-items:center; }
.up-next.coming-soon .up-next-content { max-width:760px; }
.film-meta { margin:20px 0 32px; }
.episode-nav { display:flex; justify-content:space-between; border-top:1px solid rgba(216,184,107,.15); padding-top:26px; }
.episode-link { color:var(--gold); text-decoration:none; font:600 .77rem/1.3 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.episode-link.hidden { visibility:hidden; }

@keyframes drift { to { transform:rotate(37deg) scale(1.08); } }
@keyframes countdownFill { to { --progress:360deg; } }
@keyframes nextReveal { from { transform:scale(1.08); filter:brightness(.72); } to { transform:scale(1.035); filter:brightness(1); } }
@media (max-width:960px) {
  .site-nav { grid-template-columns:auto 1fr; }.site-nav nav { display:none; }.nav-cta { justify-self:end; }
  .world-hero { grid-template-columns:1fr; min-height:0; }.hero-copy { max-width:820px; }.hero-map { width:min(720px,100%); margin:auto; }
  .steps { grid-template-columns:repeat(2,1fr); }.map-explorer { grid-template-columns:1fr; }.map-detail { min-height:350px; }
  .land-grid { grid-template-columns:repeat(2,1fr); }.land-card,.land-card:nth-child(4) { grid-column:auto; }.land-card:last-child { grid-column:1/-1; width:calc(50% - 9px); justify-self:center; }
  .learning-section { grid-template-columns:1fr; }.learning-image img { min-height:0; max-height:680px; }.video-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) { .chapters { grid-template-columns:1fr; } .chapter { display:grid; grid-template-columns:42% 58%; } .poster { aspect-ratio:auto; min-height:220px; } }
@media (max-width:620px) {
  .home,.watch-page { width:min(100% - 22px,1180px); }.site-nav { min-height:62px; padding:0 13px; gap:10px; }.brand { font-size:.9rem; }.nav-cta { padding:9px 11px; font-size:.56rem; }
  .world-hero { padding:56px 0 72px; }.hero-copy h1 { font-size:clamp(2.75rem,15vw,4.7rem); }.concept-line { gap:8px; font-size:.55rem; }.concept-line b+ b::before { margin-right:8px; }
  .steps,.land-grid,.video-grid { grid-template-columns:1fr; }.land-card:last-child { grid-column:auto; width:auto; }.steps article { min-height:210px; }.steps h3 { margin-top:38px; }
  .map-stage,.map-stage>img { min-height:390px; }.hotspot { padding:5px; font-size:0; }.hotspot span { width:11px; height:11px; }.hotspot.realm { left:49%; }.hotspot.grasslands { left:15%; }.hotspot.mountains { left:38%; }.hotspot.waterlands { right:8%; }.hotspot.savanna { right:12%; }.hotspot.jungle { left:24%; }
  .learning-points article { grid-template-columns:1fr; gap:7px; }.video-card { min-height:190px; }.video-card strong { margin-top:54px; }
  .chapter { display:block; }.poster { aspect-ratio:16/10; min-height:0; }.watch-page nav span { display:none; }.episode-link { font-size:.67rem; }.up-next { padding:20px; }.up-next h2 { font-size:clamp(1.65rem,8vw,2.5rem); }.up-next-content>p:not(.eyebrow) { margin:11px 0 14px; font-size:.78rem; line-height:1.45; }.countdown-button { width:54px; height:54px; flex-basis:54px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Keep the three requested sections reachable on small screens. */
#concept,#map,#explainers,#films,#pricing,#episodes { scroll-margin-top:96px; }
.site-nav nav a,.nav-cta { font-size:.875rem; letter-spacing:.04em; }
.site-nav nav a { display:flex; align-items:center; min-height:44px; }
.site-nav a:focus-visible,.sales-video-card>button:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.world-home .sales-video-card>div>p:not(.video-label) { font-size:1rem; }
.world-home .sales-video-card .video-label,.world-home .sales-video-card .watch-label,.world-home .click-invitation { font-size:.875rem; letter-spacing:.04em; }
@media (max-width:960px) {
  .site-nav { grid-template-columns:1fr auto; gap:0 14px; padding-top:12px; }
  .site-nav nav { display:flex; grid-column:1/-1; grid-row:2; justify-content:space-around; gap:8px; }
  .site-nav nav a { padding:12px 4px; text-align:center; }
  #concept,#map,#explainers,#films { scroll-margin-top:120px; }
}
@media (max-width:620px) {
  .site-nav .nav-cta { font-size:.875rem; padding:10px 12px; }
  .site-nav nav a { font-size:.875rem; letter-spacing:0; }
  .world-home .sales-video-card .watch-label { font-size:.75rem; }
}
@media (prefers-reduced-motion:reduce) {
  .motion-ready .sales-video-card { opacity:1; transform:none; }
}

/* Homepage map invitation: the artwork opens the dedicated map page. */
.map-invitation { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,6vw,76px); align-items:center; }
.map-invitation h2 { margin:0; font-size:clamp(2.45rem,4.6vw,4.7rem); font-weight:400; line-height:1; letter-spacing:-.04em; text-wrap:balance; }
.map-invitation-copy>p:not(.eyebrow) { margin:22px 0 28px; color:rgba(232,238,232,.72); font:400 1rem/1.7 var(--sans); }
.map-invitation-art { position:relative; display:block; overflow:hidden; border:1px solid var(--line); border-radius:22px; box-shadow:0 24px 60px rgba(0,0,0,.2); }
.map-invitation-art img { display:block; width:100%; height:auto; transition:transform .7s ease; }
.map-invitation-art:hover img { transform:scale(1.035); }
.map-invitation-art span { position:absolute; bottom:20px; left:20px; right:20px; width:fit-content; padding:12px 16px; border:1px solid rgba(140,112,56,.35); border-radius:999px; color:#2e2820; background:rgba(251,248,241,.94); backdrop-filter:blur(12px); font:700 .875rem/1.3 var(--sans); }
.map-invitation-art:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
@media(max-width:960px) { .map-invitation { grid-template-columns:1fr; }.map-invitation-copy { max-width:700px; } }
