/* =========================================================
   BUNDLE MORTY — $BUNMORTY
   Palette pulled straight from the artwork: misty teal sky,
   moor green, standing-stone grey, steel armor, cape cream,
   leather, brass gold, Morty skin/hair and the yellow collar.
   ========================================================= */
:root{
  --ink:#26302e; --ink2:#3a4744;
  --sky:#a5bebc; --sky2:#c3d3cc; --mist:#e8efea;
  --grass:#6f8b4b; --grass2:#86a05c; --grass3:#4f6a36;
  --stone:#8c8d8c; --stone2:#6d6f72; --stone3:#a9aaa6;
  --steel:#9aa3ae; --steel2:#c6ccd3;
  --cape:#ece3c8; --cape2:#d9ceae;
  --leather:#7a4a2a; --leather2:#5b3620;
  --gold:#d4ac52; --gold2:#b18a39;
  --skin:#f3bd8b; --hair:#845529; --yolk:#f2e04a;
  --dusk:#2e3c52;
  --r:18px;
  --f-title:"Grenze Gotisch", "Lora", Georgia, serif;
  --f-ui:"Lilita One", "Lexend", system-ui, sans-serif;
  --f-body:"Lexend", system-ui, sans-serif;
  --f-mono:"Space Mono", ui-monospace, monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{font-family:var(--f-body);color:var(--ink);background:var(--sky2);line-height:1.5}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
svg{width:1em;height:1em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.center{text-align:center}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:900;background:url(../img/grain.png);opacity:.35;mix-blend-mode:multiply}

/* ================= PRELOADER ================= */
#loader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;overflow:hidden;background:var(--ink)}
.loader__img{position:absolute;inset:0;background-size:cover;background-position:center 35%;transform:scale(1.08);animation:loaderZoom 3.2s ease-out forwards}
@keyframes loaderZoom{to{transform:scale(1)}}
.loader__shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(38,48,46,.55) 75%,rgba(38,48,46,.85))}
.loader__center{position:absolute;left:50%;bottom:7vh;transform:translateX(-50%);width:min(520px,86vw);text-align:center;z-index:2}
.loader__ticker{font-family:var(--f-title);font-weight:900;font-size:clamp(40px,8vw,74px);color:var(--cape);-webkit-text-stroke:2px var(--ink);text-shadow:0 5px 0 var(--ink);letter-spacing:.02em;line-height:1}
.loader__sword{display:flex;align-items:center;margin:18px auto 8px;height:26px;filter:drop-shadow(0 4px 0 var(--ink))}
.ls__hilt{width:46px;height:26px;position:relative;flex:none}
.ls__hilt::before{content:"";position:absolute;left:0;top:8px;width:26px;height:10px;border-radius:6px;background:var(--leather);border:3px solid var(--ink)}
.ls__hilt::after{content:"";position:absolute;right:4px;top:-2px;width:12px;height:30px;border-radius:6px;background:var(--gold);border:3px solid var(--ink)}
.ls__blade{flex:1;height:18px;background:var(--steel2);border:3px solid var(--ink);border-left:0;clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%);position:relative;overflow:hidden}
.ls__fill{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--gold),var(--yolk));transition:width .25s ease}
.loader__pct{font-family:var(--f-mono);color:var(--cape);font-size:14px;letter-spacing:.2em;text-shadow:0 2px 0 var(--ink)}
.loader__curtain{position:absolute;top:0;bottom:0;width:50.5%;background:var(--cape) url(../img/parchment.jpg);z-index:3;transform:scaleX(0);transition:transform .7s cubic-bezier(.7,0,.2,1)}
.loader__curtain.l{left:0;transform-origin:left;border-right:5px solid var(--ink)}
.loader__curtain.r{right:0;transform-origin:right;border-left:5px solid var(--ink)}
#loader.closing .loader__curtain{transform:scaleX(1)}
#loader.gone{opacity:0;visibility:hidden;transition:opacity .6s ease .1s,visibility 0s .8s}
#loader.gone .loader__curtain{transform:scaleX(0)}

/* ================= BUTTONS ================= */
.btn{--bg:var(--gold);display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:3px solid var(--ink);border-radius:16px;background:var(--bg);font-family:var(--f-ui);font-size:20px;letter-spacing:.02em;color:var(--ink);box-shadow:0 6px 0 var(--ink);transition:transform .15s ease,box-shadow .15s ease,filter .2s;position:relative;white-space:nowrap}
.btn svg{width:24px;height:24px;flex:none}
.btn:hover{transform:translateY(-3px);box-shadow:0 9px 0 var(--ink);filter:brightness(1.06)}
.btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}
.btn--gold{--bg:linear-gradient(180deg,#f0cf78,var(--gold) 55%,var(--gold2))}
.btn--gold::after{content:"";position:absolute;inset:4px 10px auto;height:30%;border-radius:10px;background:rgba(255,255,255,.22);pointer-events:none}
.btn--steel{--bg:linear-gradient(180deg,var(--steel2),var(--steel))}
.btn--xl{font-size:clamp(20px,2.4vw,28px);padding:18px 32px;border-width:4px;box-shadow:0 8px 0 var(--ink);animation:glint 3.5s ease-in-out infinite}
.btn--xl:hover{box-shadow:0 11px 0 var(--ink)}
.btn--xl svg{width:30px;height:30px}
.btn--sm{font-size:16px;padding:10px 16px;border-radius:12px;box-shadow:0 4px 0 var(--ink)}
.btn--sm svg{width:18px;height:18px}
.btn.is-soon{filter:saturate(.9)}
@keyframes glint{0%,70%,100%{filter:brightness(1)}80%{filter:brightness(1.25)}}

.sbtn{width:46px;height:46px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:var(--cape);box-shadow:0 4px 0 var(--ink);transition:transform .15s,box-shadow .15s,background .2s}
.sbtn svg{width:20px;height:20px}
.sbtn:hover{transform:translateY(-3px) rotate(-6deg);box-shadow:0 7px 0 var(--ink);background:var(--gold)}

/* CA scroll bar */
.ca{display:inline-flex;align-items:center;gap:0;background:var(--cape) url(../img/parchment.jpg);border:3px solid var(--ink);border-radius:14px;box-shadow:0 6px 0 var(--ink);padding:6px 6px 6px 0;max-width:100%;position:relative}
.ca__label{font-family:var(--f-ui);background:var(--leather);color:var(--cape);padding:8px 14px;margin:-6px 12px -6px 0;align-self:stretch;display:flex;align-items:center;border-right:3px solid var(--ink);border-radius:10px 0 0 10px;font-size:18px}
.ca__val{font-family:var(--f-mono);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;padding-right:10px}
.ca__seal{flex:none;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#9a5f38,var(--leather) 55%,var(--leather2));border:3px solid var(--ink);color:var(--gold);display:grid;place-items:center;box-shadow:inset 0 0 0 3px rgba(212,172,82,.45);transition:transform .2s}
.ca__seal svg{width:22px;height:22px}
.ca__seal .ic-ok{display:none}
.ca.copied .ca__seal .ic-ok{display:block}
.ca.copied .ca__seal .ic-copy{display:none}
.ca:hover .ca__seal{transform:rotate(-14deg) scale(1.06)}
.ca{cursor:pointer}
.ca--sm .ca__seal{width:40px;height:40px}
.ca--dark{background:var(--ink2);color:var(--cape)}

/* ================= HEADER ================= */
.hdr{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,3vw,36px);transition:background .3s,box-shadow .3s,padding .3s}
.hdr.scrolled{background:var(--cape) url(../img/parchment.jpg);box-shadow:0 4px 0 var(--ink);padding-block:8px}
.hdr__logo{display:flex;align-items:center;gap:10px;font-family:var(--f-title);font-weight:900;font-size:28px;line-height:1}
.hdr__logo img{width:44px;height:44px;filter:drop-shadow(0 3px 0 var(--ink))}
.hdr__nav{display:flex;gap:6px}
.hdr__nav a{font-family:var(--f-ui);font-size:18px;padding:8px 14px;border-radius:12px;border:3px solid transparent;transition:.2s}
.hdr__nav a:hover{border-color:var(--ink);background:var(--cape);box-shadow:0 4px 0 var(--ink);transform:translateY(-2px)}
.hdr__soc{display:flex;gap:10px;align-items:center}
.burger{display:none;width:46px;height:46px;border:3px solid var(--ink);border-radius:12px;background:var(--gold);box-shadow:0 4px 0 var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:5px;position:relative;z-index:520}
.burger span{width:20px;height:3px;background:var(--ink);border-radius:2px;transition:.25s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ================= HERO ================= */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:var(--sky)}
.scene{position:absolute;inset:0;perspective:1200px}
.layer{position:absolute;inset:-3% -4%;will-change:transform;pointer-events:none}
.layer>img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.mistdrift>img{animation:drift 26s ease-in-out infinite alternate}
.mistdrift.rev>img{animation-duration:34s;animation-direction:alternate-reverse}
@keyframes drift{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
.layer--hero{display:flex;align-items:flex-end;justify-content:flex-end}
.hero__knight{position:relative;height:min(76vh,760px);margin:0 11% 7% 0;transform-origin:50% 100%}
.hero__knight img{height:100%;width:auto;-webkit-mask-image:linear-gradient(180deg,#000 96%,transparent);mask-image:linear-gradient(180deg,#000 96%,transparent);filter:drop-shadow(0 10px 0 rgba(38,48,46,.18));animation:breathe 4.5s ease-in-out infinite;transform-origin:50% 100%}
.hero__knight::before{content:"";position:absolute;left:18%;right:4%;bottom:-2%;height:9%;border-radius:50%;background:rgba(38,48,46,.28);filter:blur(6px)}
@keyframes breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.012)}}
.hero__content{position:relative;z-index:5;height:100%;display:flex;flex-direction:column;justify-content:center;gap:34px;padding:90px clamp(16px,6vw,90px) 70px;max-width:680px}

.banner{position:relative;width:max-content;transform-style:preserve-3d;transform-origin:50% 0}
.banner__pole{position:absolute;left:-26px;right:-26px;top:-12px;height:18px;border-radius:9px;background:linear-gradient(180deg,#f0cf78,var(--gold2));border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);z-index:2}
.banner__pole::before,.banner__pole::after{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--gold);border:3px solid var(--ink)}
.banner__pole::before{left:-16px}.banner__pole::after{right:-16px}
.banner__cloth{position:relative;background:var(--cape) url(../img/parchment.jpg);border:4px solid var(--ink);border-top:0;padding:34px 44px 70px;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 44px),0 100%);text-align:center;animation:sway 6s ease-in-out infinite;transform-origin:50% 0}
.banner::after{content:"";position:absolute;inset:6px -2px -2px;z-index:-1;background:var(--ink);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 44px),0 100%);transform:translate(8px,8px);opacity:.9;animation:sway 6s ease-in-out infinite;transform-origin:50% 0}
@keyframes sway{0%,100%{rotate:-1deg}50%{rotate:1.2deg}}
.banner__cloth::before{content:"";position:absolute;inset:10px 10px 50px;border:2px dashed rgba(38,48,46,.35);border-radius:4px;pointer-events:none}
.banner__fleur{width:40px;height:40px;color:var(--leather);margin:0 auto 4px}
.banner h1{font-family:var(--f-title);font-weight:900;font-size:clamp(64px,9vw,128px);line-height:.82;letter-spacing:.005em;color:var(--ink);text-shadow:4px 4px 0 var(--sky)}
.banner__ticker{display:inline-block;margin-top:16px;font-family:var(--f-ui);font-size:clamp(22px,2.6vw,32px);padding:6px 18px;background:var(--yolk);border:3px solid var(--ink);border-radius:10px;box-shadow:0 5px 0 var(--ink);transform:rotate(-3deg)}
.hero__ctas{display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:min(520px,100%)}
.hero__ctas .ca{width:100%}
.scrollcue{position:absolute;left:50%;bottom:18px;z-index:6;width:30px;height:48px;margin-left:-15px;border:3px solid var(--ink);border-radius:16px;background:var(--cape)}
.scrollcue span{position:absolute;left:50%;top:8px;width:6px;height:10px;margin-left:-3px;border-radius:3px;background:var(--ink);animation:cue 1.6s ease-in-out infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}80%{transform:translateY(16px);opacity:0}100%{opacity:0}}

/* ribbon */
.ribbon{position:relative;z-index:6;background:var(--leather);border-block:4px solid var(--ink);overflow:hidden;transform:rotate(-1.2deg) scale(1.03);margin-top:-18px;box-shadow:0 6px 0 var(--ink)}
.ribbon__track{display:flex;width:max-content;animation:marquee 30s linear infinite}
.ribbon__track span{font-family:var(--f-title);font-weight:900;font-size:34px;color:var(--cape);padding:8px 22px;white-space:nowrap;display:flex;align-items:center;gap:22px}
.ribbon__track svg{width:24px;height:24px;color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ================= SECTIONS ================= */
.sec{position:relative;padding:clamp(80px,11vw,140px) 0}
.h2{font-family:var(--f-title);font-weight:900;font-size:clamp(46px,6.5vw,86px);line-height:.9;margin-bottom:clamp(36px,5vw,60px);color:var(--ink)}
.h2 small{-webkit-text-stroke:0;text-shadow:none;color:var(--ink);display:block;width:max-content;font-family:var(--f-ui);font-weight:400;font-size:18px;letter-spacing:.14em;text-transform:uppercase;padding:4px 14px;margin-bottom:14px;background:var(--gold);border:3px solid var(--ink);border-radius:999px;box-shadow:0 4px 0 var(--ink)}
.h2.center small{margin-inline:auto}
.h2.light{color:var(--cape);text-shadow:0 5px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink)}

/* LORE */
.lore{background:linear-gradient(180deg,var(--sky2),var(--sky) 60%,#b4c7bf)}
.lore{padding-bottom:clamp(160px,22vw,300px)}
.lore::before{content:"";position:absolute;inset:auto 0 -1px;height:30vw;max-height:480px;background:url(../img/stones.png) center bottom/100% auto no-repeat;pointer-events:none}
.lore__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,80px);align-items:center;position:relative}
.lore__art{position:relative;transform-style:preserve-3d}
.frame{position:relative;border:5px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:12px 12px 0 var(--ink);background:var(--ink)}
.frame img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .8s ease}
.lore__art:hover .frame img{transform:scale(1.05)}
.frame::after{content:"";position:absolute;inset:10px;border:3px solid var(--gold);border-radius:18px;pointer-events:none}
.frame__corner{position:absolute;width:30px;height:30px;background:var(--gold);border:3px solid var(--ink);border-radius:50%;z-index:2}
.frame__corner.tl{left:-4px;top:-4px}.frame__corner.tr{right:-4px;top:-4px}.frame__corner.bl{left:-4px;bottom:-4px}.frame__corner.br{right:-4px;bottom:-4px}
.plaque{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%) translateZ(40px);font-family:var(--f-ui);font-size:26px;padding:8px 26px;background:var(--yolk);border:4px solid var(--ink);border-radius:12px;box-shadow:0 6px 0 var(--ink);white-space:nowrap}
.scroll{position:relative;filter:drop-shadow(8px 10px 0 var(--ink))}
.scroll__rod{height:28px;border-radius:14px;background:linear-gradient(180deg,#a8703f,var(--leather) 60%,var(--leather2));border:4px solid var(--ink);margin-inline:-14px;position:relative;z-index:2}
.scroll__paper{background:var(--cape) url(../img/parchment.jpg);border-inline:4px solid var(--ink);margin-inline:8px;padding:30px clamp(22px,4vw,44px);font-size:clamp(17px,1.6vw,20px);transform-origin:top;margin-block:-4px}
.scroll__paper p+p{margin-top:14px}
.scroll__paper p:first-child{font-family:var(--f-title);font-weight:800;font-size:clamp(28px,3vw,38px);line-height:1}
.scroll__paper .sig{font-family:var(--f-mono);font-size:14px;color:var(--leather);text-align:right}
.scroll.in .scroll__paper{animation:unroll 1s cubic-bezier(.2,.8,.2,1) both .15s}
@keyframes unroll{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}

/* HOW TO BUY — standing stones */
.buy{background:linear-gradient(180deg,var(--grass2),var(--grass) 100%);padding-top:40px}
.buy .h2{color:var(--cape);text-shadow:0 5px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink)}
.buy::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.12),transparent 40%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.12),transparent 45%);pointer-events:none}
.stones{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.5vw,30px);align-items:end}
.stone{position:relative;padding:60px 22px 30px;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;background:no-repeat center/100% 100%;filter:drop-shadow(0 9px 0 var(--ink));transform-style:preserve-3d;color:var(--cape)}
.stone:nth-child(2){min-height:370px}.stone:nth-child(3){min-height:340px}.stone:nth-child(4){min-height:390px}
.stone:nth-child(1){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23b3b4b0'/%3E%3Cstop offset='1' stop-color='%2386888a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='6,100 4,46 14,18 38,4 66,8 88,26 95,60 94,100' fill='url%28%23g%29'/%3E%3Cpolygon points='60,100 58,40 66,8 88,26 95,60 94,100' fill='%236a6d72' opacity='.85'/%3E%3Cpath d='M0 100 L0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89 L100 100Z' fill='%2386a05c'/%3E%3Cpolygon points='6,100 4,46 14,18 38,4 66,8 88,26 95,60 94,100' fill='none' stroke='%2326302e' stroke-width='4.5' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89' fill='none' stroke='%2326302e' stroke-width='3.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.stone:nth-child(2){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23b3b4b0'/%3E%3Cstop offset='1' stop-color='%2386888a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='5,100 8,30 28,6 52,2 78,14 92,40 96,100' fill='url%28%23g%29'/%3E%3Cpolygon points='62,100 60,20 78,14 92,40 96,100' fill='%236a6d72' opacity='.85'/%3E%3Cpath d='M0 100 L0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89 L100 100Z' fill='%2386a05c'/%3E%3Cpolygon points='5,100 8,30 28,6 52,2 78,14 92,40 96,100' fill='none' stroke='%2326302e' stroke-width='4.5' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89' fill='none' stroke='%2326302e' stroke-width='3.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.stone:nth-child(3){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23b3b4b0'/%3E%3Cstop offset='1' stop-color='%2386888a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='6,100 3,55 10,22 30,10 58,3 84,18 97,48 94,100' fill='url%28%23g%29'/%3E%3Cpolygon points='64,100 62,30 58,3 84,18 97,48 94,100' fill='%236a6d72' opacity='.85'/%3E%3Cpath d='M0 100 L0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89 L100 100Z' fill='%2386a05c'/%3E%3Cpolygon points='6,100 3,55 10,22 30,10 58,3 84,18 97,48 94,100' fill='none' stroke='%2326302e' stroke-width='4.5' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89' fill='none' stroke='%2326302e' stroke-width='3.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.stone:nth-child(4){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23b3b4b0'/%3E%3Cstop offset='1' stop-color='%2386888a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='4,100 7,36 22,12 46,1 70,6 90,30 96,100' fill='url%28%23g%29'/%3E%3Cpolygon points='60,100 58,24 70,6 90,30 96,100' fill='%236a6d72' opacity='.85'/%3E%3Cpath d='M0 100 L0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89 L100 100Z' fill='%2386a05c'/%3E%3Cpolygon points='4,100 7,36 22,12 46,1 70,6 90,30 96,100' fill='none' stroke='%2326302e' stroke-width='4.5' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0 90 Q8 84 16 89 Q24 83 32 88 Q42 82 50 88 Q60 82 68 88 Q78 83 86 88 Q94 84 100 89' fill='none' stroke='%2326302e' stroke-width='3.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.stone .lichen{position:absolute;width:28px;height:18px;border-radius:50%;background:#b9c486;opacity:.6;pointer-events:none}

.stone__num{font-family:var(--f-title);font-weight:900;font-size:78px;line-height:1;margin-bottom:auto;padding-top:10px;color:var(--ink2);text-shadow:0 2px 0 rgba(255,255,255,.35),0 -2px 0 rgba(0,0,0,.35);transform:translateZ(30px)}
.stone h3{font-family:var(--f-ui);font-weight:400;font-size:24px;line-height:1.1;color:#fff;text-shadow:0 3px 0 var(--ink);transform:translateZ(40px)}
.stone p{font-size:15px;margin-top:6px;margin-bottom:26px;color:#f3efe2;transform:translateZ(24px)}
.stone.reveal{transform:translateY(80px) scaleY(.7);transform-origin:50% 100%;opacity:0;transition:transform .9s cubic-bezier(.2,1.3,.4,1) var(--d,0s),opacity .6s ease var(--d,0s)}
.stone.reveal.in{transform:none;opacity:1}
.buy__cta{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;margin-top:56px}
.buy__cta .ca{width:min(520px,100%)}

/* CHART — dolmen */
.chart{background:linear-gradient(180deg,var(--grass) 0%,var(--grass3) 100%)}
.chart .h2{color:var(--cape);text-shadow:0 5px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink)}
.dolmen{position:relative;max-width:1060px;margin-inline:auto}
.dolmen__lintel{position:relative;z-index:2;margin:0 -2%;height:74px;background:linear-gradient(180deg,var(--stone3),var(--stone) 60%,var(--stone2));border:4px solid var(--ink);border-radius:30px 40px 14px 20px/40px 30px 14px 20px;box-shadow:0 8px 0 var(--ink);display:grid;place-items:center}
.dolmen__lintel span{font-family:var(--f-ui);font-size:22px;color:#fff;letter-spacing:.1em;text-shadow:0 3px 0 var(--ink)}
.dolmen__body{display:grid;grid-template-columns:62px 1fr 62px;gap:14px;margin-top:-6px}
.dolmen__pillar{background:linear-gradient(100deg,var(--stone3),var(--stone) 50%,var(--stone2) 51%);border:4px solid var(--ink);border-radius:10px 10px 18px 18px;box-shadow:0 8px 0 var(--ink)}
.dolmen__screen{position:relative;height:clamp(380px,50vw,560px);background:var(--ink);border:4px solid var(--ink);border-radius:12px;overflow:hidden;margin-top:18px;box-shadow:inset 0 0 0 4px var(--gold)}
.dolmen__screen iframe{width:100%;height:100%;border:0;display:block}
.chart__empty{position:absolute;inset:0;display:grid;place-content:center;gap:14px;text-align:center;color:var(--cape);background:radial-gradient(circle at 50% 45%,#3a4a46,var(--ink) 70%)}
.chart__empty img{width:130px;height:130px;margin-inline:auto;border-radius:50%;border:4px solid var(--gold);animation:bob 3s ease-in-out infinite}
.chart__empty p{font-family:var(--f-ui);font-size:22px}
@keyframes bob{50%{transform:translateY(-10px)}}

/* ROADMAP — quest map */
.quest{background:linear-gradient(180deg,var(--grass3),#3e5130 40%,#2f3f2a)}
.quest .h2{color:var(--cape);text-shadow:0 5px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink)}
.map{position:relative;aspect-ratio:1000/560;background:var(--cape) url(../img/parchment.jpg);border:5px solid var(--ink);border-radius:22px;box-shadow:14px 14px 0 var(--ink);overflow:visible}
.map::before{content:"";position:absolute;inset:14px;border:3px double rgba(122,74,42,.55);border-radius:12px;pointer-events:none}
.map::after{content:"";position:absolute;inset:0;border-radius:18px;background:radial-gradient(ellipse at center,transparent 55%,rgba(122,74,42,.28));pointer-events:none}
.map__path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.map__path path{fill:none;stroke:var(--leather);stroke-width:5;stroke-linecap:round;stroke-dasharray:14 12;vector-effect:non-scaling-stroke}
.map__path path.base{stroke:rgba(122,74,42,.2);stroke-dasharray:none}
.mstone{position:absolute;width:16px;height:28px;background:var(--stone);border:3px solid var(--ink);border-radius:50% 50% 3px 3px/40% 40% 3px 3px}
.mtree{position:absolute;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:34px solid #5f7f5c;filter:drop-shadow(0 0 0 var(--ink)) drop-shadow(2px 2px 0 var(--ink))}
.mcompass{position:absolute;left:4%;top:8%;width:78px;height:78px;border-radius:50%;border:3px solid var(--leather);background:conic-gradient(from 0deg,transparent 0 40deg,rgba(122,74,42,.15) 40deg 50deg,transparent 50deg 130deg,rgba(122,74,42,.15) 130deg 140deg,transparent 140deg);opacity:.8}
.mcompass::before{content:"N";position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-family:var(--f-title);font-weight:900;color:var(--leather);font-size:22px}
.mcompass::after{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:10px;margin-left:-5px;background:linear-gradient(180deg,var(--leather) 50%,var(--gold) 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.wp{position:absolute;transform:translate(-50%,-100%);z-index:2;display:flex;flex-direction:column;align-items:center}
.wp__flag{width:56px;height:56px;display:grid;place-items:center;font-family:var(--f-title);font-weight:900;font-size:26px;background:var(--cape);border:4px solid var(--ink);border-radius:50%;box-shadow:0 5px 0 var(--ink);transition:.4s cubic-bezier(.2,1.4,.4,1);position:relative}
.wp__flag::after{content:"";position:absolute;left:50%;bottom:-16px;margin-left:-3px;width:6px;height:14px;background:var(--ink)}
.wp.on .wp__flag{background:var(--gold);transform:scale(1.12) rotate(-8deg)}
.wp__card{order:-1;margin-bottom:12px;background:#fff9e8;border:3px solid var(--ink);border-radius:14px;padding:10px 14px;box-shadow:0 5px 0 var(--ink);width:200px;text-align:center;opacity:0;transform:translateY(14px) scale(.9);transition:.5s cubic-bezier(.2,1.3,.4,1)}
.wp.on .wp__card{opacity:1;transform:none}
.wp__card b{display:block;font-family:var(--f-title);font-weight:900;font-size:28px;line-height:1}
.wp__card span{font-size:13.5px;line-height:1.35;display:block;margin-top:4px}
.wp--castle .wp__flag{background:var(--yolk);font-size:28px;font-family:var(--f-ui)}

/* FINALE */
.finale{position:relative;min-height:100vh;padding:clamp(90px,12vw,150px) 0 110px;overflow:hidden;color:var(--cape);background:var(--dusk)}
.finale__bg{position:absolute;inset:-12% 0;background-size:cover;background-position:center 70%;will-change:transform}
.finale::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(47,63,42,1) 0%,rgba(46,60,82,.55) 18%,rgba(46,60,82,.1) 45%,rgba(20,26,30,.45) 100%)}
#fireflies{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.finale__inner{position:relative;z-index:3}
.finale .h2{text-align:left;max-width:600px}
.finale .h2 small{margin-inline:0}
.shields{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 22px;max-width:560px}
.shield{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:5/6;padding:12px 10px 34px;color:var(--ink);filter:drop-shadow(0 7px 0 var(--ink));transition:transform .25s cubic-bezier(.2,1.4,.4,1),filter .25s}
.shield::before,.shield::after{content:"";position:absolute;clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%);z-index:-1}
.shield::before{inset:0;background:var(--ink)}
.shield::after{inset:5px 5px 7px;background:linear-gradient(160deg,rgba(255,255,255,.35),transparent 50%),var(--c)}
.shield__ic{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.55);border:3px solid var(--ink);font-family:var(--f-title);font-weight:900;font-size:24px}
.shield__ic svg{width:26px;height:26px}
.shield b{font-family:var(--f-ui);font-weight:400;font-size:19px;line-height:1.05;text-align:center}
.shield:hover{transform:translateY(-8px) rotate(-3deg) scale(1.04);filter:drop-shadow(0 12px 0 var(--ink)) drop-shadow(0 0 22px rgba(212,172,82,.55))}
.shield--gold .shield__ic{background:var(--yolk)}
.shield.reveal{opacity:0;transform:translateY(40px) scale(.9)}
.shield.reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .6s cubic-bezier(.2,1.4,.4,1)}
.shield.reveal.in:hover{transform:translateY(-8px) rotate(-3deg) scale(1.04)}

/* FOOTER */
.ftr{background:var(--ink);color:var(--cape);border-top:5px solid var(--gold);padding:36px 0 26px;position:relative;z-index:3}
.ftr__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.ftr .hdr__logo{color:var(--cape)}
.ftr .ca{flex:1 1 320px;max-width:480px}
.ftr .btn--steel{--bg:var(--cape)}
.ftr__soc{display:flex;gap:12px;flex-wrap:wrap}
.ftr__note{text-align:center;font-size:12.5px;opacity:.6;margin-top:24px;padding-inline:16px}

/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.h2.reveal{transform:translateY(30px) rotateX(40deg);transform-origin:50% 100%}
.h2.reveal.in{transform:none}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;z-index:1500;transform:translate(-50%,220%);opacity:0;font-family:var(--f-ui);font-size:20px;padding:12px 24px;background:var(--yolk);border:3px solid var(--ink);border-radius:14px;box-shadow:0 6px 0 var(--ink);transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.toast.show{transform:translate(-50%,0);opacity:1}

/* ================= RESPONSIVE ================= */
@media (max-width:1000px){
  .hdr__nav{position:fixed;inset:0;z-index:510;background:#2f3f2a;flex-direction:column;justify-content:center;align-items:center;gap:14px;transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
  .hdr__nav.open{transform:none}
  .hdr__nav a{font-size:30px;color:var(--cape);border:3px solid var(--ink);background:var(--leather);box-shadow:0 5px 0 var(--ink);min-width:240px;text-align:center}
  .burger{display:flex}
  .hdr__logo{position:relative;z-index:520}
  body.menu-open .hdr__logo{color:var(--cape)}
  .stones{grid-template-columns:repeat(2,1fr)}
  .stone,.stone:nth-child(n){min-height:260px}
  .lore__grid{grid-template-columns:1fr}
  .lore__art{max-width:460px;margin-inline:auto;width:100%}
}
@media (max-width:760px){
  .hdr__logo span{display:none}
  .sbtn{width:42px;height:42px}
  .hero__content{justify-content:flex-start;padding-top:92px;gap:18px;align-items:center;text-align:center;max-width:none}
  .banner{margin-inline:auto}
  .banner__cloth{padding:20px 26px 52px;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 30px),0 100%)}
  .banner::after{clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 30px),0 100%)}
  .banner__fleur{width:28px;height:28px}
  .banner h1{font-size:clamp(50px,15vw,70px)}
  .banner__ticker{font-size:20px;margin-top:10px}
  .hero__ctas{align-items:center;margin-inline:auto}
  .btn--xl{font-size:21px;padding:14px 22px}
  .layer--hero{justify-content:center}
  .hero__knight{height:min(46vh,430px);margin:0 0 9% 0}
  .hero .ca__val{font-size:12px}
  .scrollcue{display:none}
  .stone{padding:24px 14px 22px}
  .stone__num{font-size:56px}
  .stone h3{font-size:20px}
  /* quest map becomes a vertical trail */
  .map{aspect-ratio:auto;padding:40px 18px 30px 64px;display:flex;flex-direction:column;gap:22px}
  .map__path,.map__deco{display:none}
  .map>.wp{position:relative;left:auto!important;top:auto!important;transform:none;flex-direction:row;align-items:center;gap:14px}
  .map::before{inset:10px}
  .map .wp::before{content:"";position:absolute;left:-26px;top:-22px;bottom:-22px;border-left:4px dashed var(--leather)}
  .wp__flag{flex:none;margin-left:-58px}
  .wp__flag::after{display:none}
  .wp__card{order:0;margin:0;width:auto;flex:1;text-align:left}
  .wp--castle{display:none!important}
  .dolmen__body{grid-template-columns:26px 1fr 26px;gap:8px}
  .dolmen__lintel{height:58px}
  .dolmen__lintel span{font-size:17px}
  .dolmen__screen{height:440px}
  .shields{grid-template-columns:repeat(3,1fr);gap:18px 12px}
  .shield__ic{width:42px;height:42px;font-size:18px}
  .shield__ic svg{width:20px;height:20px}
  .ftr__in{flex-direction:column;text-align:center}
  .ftr .ca{width:100%;flex:none}
  .shield b{font-size:13px}
  .finale .h2{text-align:center}
  .finale .h2 small{margin-inline:auto}
  .shields{max-width:none}
}
@media (max-height:720px) and (min-width:761px){
  .banner h1{font-size:clamp(56px,7vw,96px)}
  .banner__cloth{padding:24px 36px 60px}
  .hero__content{gap:22px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.stone.reveal,.shield.reveal{opacity:1;transform:none}
}
