{"product_id":"of-soil-and-stones","title":"Of Soil and Stones","description":"\u003cdiv class=\"fg1-wrap\"\u003e\n\u003cdiv class=\"fg1-hero\"\u003e\n\u003cdiv class=\"fg1-hero-content\"\u003e\n\u003cp class=\"fg1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n\u003cp class=\"fg1-sub\"\u003eEvery tile is a promise or a problem. And when you play the last one, you'll know if the kingdom will survive or crumble before dawn.\u003c\/p\u003e\n\u003cdiv class=\"fg1-chips\"\u003e\n\u003cspan class=\"fg1-chip fg1-chip--accent\"\u003eCooperative\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eMancalamaro\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003e10-scenario Campaign\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eItalian Edition\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-specs-bar\"\u003e\n\u003cdiv class=\"fg1-specs\"\u003e\n\u003cdiv class=\"fg1-spec\"\u003e\n\u003cspan class=\"fg1-spec-icon\"\u003e👥\u003c\/span\u003e \u003cspan class=\"fg1-spec-label\"\u003ePlayers\u003c\/span\u003e \u003cspan class=\"fg1-spec-val\"\u003e1 – 4\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-spec\"\u003e\n\u003cspan class=\"fg1-spec-icon\"\u003e⏱️\u003c\/span\u003e \u003cspan class=\"fg1-spec-label\"\u003eDuration\u003c\/span\u003e \u003cspan class=\"fg1-spec-val\"\u003e20 min\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-spec\"\u003e\n\u003cspan class=\"fg1-spec-icon\"\u003e🎂\u003c\/span\u003e \u003cspan class=\"fg1-spec-label\"\u003eAge\u003c\/span\u003e \u003cspan class=\"fg1-spec-val\"\u003e8+ years\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-spec\"\u003e\n\u003cspan class=\"fg1-spec-icon\"\u003e🎲\u003c\/span\u003e \u003cspan class=\"fg1-spec-label\"\u003eMechanic\u003c\/span\u003e \u003cspan class=\"fg1-spec-val\"\u003eTile Placement\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-spec\"\u003e\n\u003cspan class=\"fg1-spec-icon\"\u003e🗺️\u003c\/span\u003e \u003cspan class=\"fg1-spec-label\"\u003eFeature\u003c\/span\u003e \u003cspan class=\"fg1-spec-val\"\u003eNarrative Campaign\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-spec\"\u003e\n\u003cspan class=\"fg1-spec-icon\"\u003e💥\u003c\/span\u003e \u003cspan class=\"fg1-spec-label\"\u003eOther Feature\u003c\/span\u003e \u003cspan class=\"fg1-spec-val\"\u003eOverlapping Values\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-body\"\u003e\n\u003cdiv class=\"fg1-intro-grid\"\u003e\n\u003cdiv class=\"fg1-intro-text\"\u003e\n\u003cp class=\"fg1-label\"\u003eWHAT IT'S ABOUT\u003c\/p\u003e\n\u003ch3 class=\"fg1-h3\"\u003eA kingdom to build tile by tile, before the enemy arrives\u003c\/h3\u003e\n\u003cp class=\"fg1-p\"\u003eOf Soil and Stones is the work of \u003cstrong\u003eJonathan Panada and Giulia Tamagni\u003c\/strong\u003e, with illustrations by Mihajlo Dimitrievski. You are architects and builders in the service of a young king and queen: the kingdom has just been born, and every tile you place is a meadow, a fortress, or a defensive moat. The story unfolds through \u003cstrong\u003e10 scenarios\u003c\/strong\u003e, each with new challenges and increasingly dangerous enemies.\u003c\/p\u003e\n\u003cp class=\"fg1-p\"\u003eThe game works with simple rules but sharp choices: each tile has a value, and you can only overlap it with others if its number is between the two it covers. You must play all tiles without getting stuck, build the necessary defenses, and withstand assaults. No downtime: you play together, you discuss, you take risks. And when the last tile lands on the table, you discover if the kingdom holds or falls.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-intro-side\"\u003e\n\u003cp class=\"fg1-quote-header\"\u003eWhat they say abroad\u003c\/p\u003e\n\u003cdiv class=\"fg1-quote\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Review\"\u003e\n\u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003eEvery tile is a choice. Every choice could be the last.\u003c\/p\u003e\n\u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eFroGames\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-quote fg1-quote--dark\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Review\"\u003e\n\u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003ePromises to take cooperative tile placement into uncharted territory, with a narrative campaign that gets tighter and tighter.\u003c\/p\u003e\n\u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eFroGames\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs\"\u003e\n\u003cdiv class=\"fg1-fs-header\"\u003e\n\u003cdiv class=\"fg1-fs-brand\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"fg1-fs-frog-img\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"fg1-fs-brand-label\"\u003eFrogScore · frogames.business\u003c\/span\u003e\n\u003cp class=\"fg1-fs-game-name\"\u003eOf Soil and Stones\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"fg1-fs-cat\" style=\"background: #e0f5ee; border-color: #60c090; color: #0a4a30;\"\u003eCooperative\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-body\"\u003e\n\u003cdiv class=\"fg1-fs-radar-panel\"\u003e\n\u003csvg id=\"fg1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow: visible;\"\u003e\u003c\/svg\u003e\n\u003cdiv class=\"fg1-fs-tip\" id=\"fg1-fs-tip\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-info\"\u003e\n\u003cspan class=\"fg1-fs-feel-lbl\"\u003eThe experience\u003c\/span\u003e\n\u003cdiv class=\"fg1-fs-feeling\"\u003e\n\u003cspan class=\"fg1-fs-feel-tag\"\u003eTense\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003ePuzzle\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eProgressive\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"fg1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n\u003cdiv class=\"fg1-fs-targets\"\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🧒\u003c\/span\u003eChildren\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-verdict\"\u003e\n\u003cdiv class=\"fg1-fs-verdict-title\"\u003eIn brief\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-verdict-text\"\u003eA cooperative tile-laying game that plays in 20 minutes but keeps the table on edge until the last card. The narrative campaign adds depth without being cumbersome. Perfect for families who want a real challenge without studying manuals.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-solo\"\u003e\n\u003cdiv class=\"fg1-fs-solo-row\"\u003e\n\u003cspan class=\"fg1-fs-solo-icon\"\u003e🧘\u003c\/span\u003e\n\u003cdiv class=\"fg1-fs-solo-text\"\u003e\n\u003cspan class=\"fg1-fs-solo-label\"\u003eSolo mode · Official\u003c\/span\u003e \u003cspan class=\"fg1-fs-solo-stars\" aria-label=\"4 out of 5\"\u003e★★★★☆\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"fg1-fs-solo-note\"\u003eThe game works solo with the same rules as multiplayer: you manage all tiles and face scenarios as a personal puzzle. The experience is complete, but it loses the discussion and collective confrontation that make every game a small assembly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-footer\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"fg1-fs-footer-frog\"\u003e FrogScore · FroGames editorial rating · based on rules, international reviews and play sessions\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[{\"label\": \"Rigiocabilità\", \"value\": 5, \"note\": \"10 scenari con difficoltà crescente e varianti: la campagna spinge a tornare al tavolo.\"}, {\"label\": \"Tensione\", \"value\": 4, \"note\": \"Ogni tessera giocata male può bloccarvi. L'orologio della campagna incalza.\"}, {\"label\": \"Interazione\", \"value\": 4, \"note\": \"Cooperativo puro: si discute ogni mossa, si pianifica insieme, si vince o si perde tutti.\"}, {\"label\": \"Complessità\", \"value\": 2, \"note\": \"Regole in 5 minuti. Il puzzle è nella posizione, non nel regolamento.\"}, {\"label\": \"Strategia\", \"value\": 3, \"note\": \"Le scelte sono tattiche e immediate, ma l'ordine delle tessere fa la differenza tra vittoria e sconfitta.\"}, {\"label\": \"Fortuna\", \"value\": 2, \"note\": \"Le tessere arrivano in ordine casuale, ma la bravura sta nel gestirle tutte.\"}];\n      var accent='#0a7a5a';\n      var VB=320,CX=160,CY=160,R=74;\n      var n=dims.length,step=PI2\/n,off=-Math.PI\/2;\n      var svg=document.getElementById('fg1-fs-svg');\n      var tip=document.getElementById('fg1-fs-tip');\n      if(!svg) return;\n      var ns='http:\/\/www.w3.org\/2000\/svg';\n      function pt(r,i){return[CX+r*Math.cos(off+i*step),CY+r*Math.sin(off+i*step)];}\n      function el(tag,attrs){\n        var e=document.createElementNS(ns,tag);\n        Object.keys(attrs).forEach(function(k){e.setAttribute(k,attrs[k]);});\n        return e;\n      }\n      var st=document.createElement('style');\n      st.textContent='@keyframes fg1-draw{to{stroke-dashoffset:0}}@keyframes fg1-fade{to{opacity:1}}';\n      document.head.appendChild(st);\n      for(var ring=1;ring\u003c=5;ring++){\n        var rr=R*(ring\/5);\n        var pts=dims.map(function(_,i){var p=pt(rr,i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n        svg.appendChild(el('polygon',{points:pts,fill:'none',stroke:ring===5?'#c0b8b0':'#ddd8d0','stroke-width':ring===5?'1':'0.5'}));\n      }\n      dims.forEach(function(_,i){\n        var p=pt(R,i);\n        svg.appendChild(el('line',{x1:CX,y1:CY,x2:p[0].toFixed(1),y2:p[1].toFixed(1),stroke:'#d0c8c0','stroke-width':'0.5'}));\n      });\n      var dpts=dims.map(function(d,i){var p=pt(R*(d.value\/5),i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n      var perim=dims.reduce(function(acc,d,i){\n        var p1=pt(R*(d.value\/5),i),p2=pt(R*(dims[(i+1)%n].value\/5),(i+1)%n);\n        return acc+Math.sqrt(Math.pow(p2[0]-p1[0],2)+Math.pow(p2[1]-p1[1],2));\n      },0);\n      var shape=el('polygon',{points:dpts,fill:accent+'1a',stroke:accent,'stroke-width':'2.5','stroke-linejoin':'round'});\n      shape.style.cssText='stroke-dasharray:'+perim.toFixed(0)+';stroke-dashoffset:'+perim.toFixed(0)+';animation:fg1-draw 0.9s ease-out 0.1s forwards';\n      svg.appendChild(shape);\n      dims.forEach(function(d,i){\n        var p=pt(R*(d.value\/5),i);\n        var angle=off+i*step;\n        var hit=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'10',fill:'transparent',cursor:'pointer'});\n        (function(idx){\n          hit.addEventListener('mouseenter',function(e){\n            tip.innerHTML='\u003cstrong\u003e'+dims[idx].label+' '+dims[idx].value+'\/5\u003c\/strong\u003e\u003cbr\u003e'+dims[idx].note;\n            tip.style.display='block';\n            var rect=svg.parentElement.getBoundingClientRect();\n            var ex=e.clientX-rect.left, ey=e.clientY-rect.top;\n            tip.style.left=Math.min(ex+12,rect.width-220)+'px';\n            tip.style.top=Math.max(ey-55,4)+'px';\n          });\n          hit.addEventListener('mouseleave',function(){tip.style.display='none';});\n        })(i);\n        svg.appendChild(hit);\n        var c=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'4.5',fill:accent,stroke:'white','stroke-width':'2'});\n        c.style.cssText='opacity:0;animation:fg1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n        var nd=R*(d.value\/5)+15;\n        var nx=CX+nd*Math.cos(angle),ny=CY+nd*Math.sin(angle);\n        var vt=el('text',{x:nx.toFixed(1),y:(ny+1).toFixed(1),'text-anchor':'middle','dominant-baseline':'middle','font-size':'10','font-weight':'800',fill:accent,'font-family':'-apple-system,sans-serif'});\n        vt.textContent=d.value;\n        vt.style.cssText='opacity:0;animation:fg1-fade 0.3s ease-out '+(0.85+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(vt);\n      });\n      dims.forEach(function(d,i){\n        var angle=off+i*step;\n        var lx=CX+(R+40)*Math.cos(angle),ly=CY+(R+40)*Math.sin(angle);\n        var anchor='middle';\n        if(Math.cos(angle)\u003e0.2) anchor='start';\n        else if(Math.cos(angle)\u003c-0.2) anchor='end';\n        var dy=Math.sin(angle)\u003e0.6?7:Math.sin(angle)\u003c-0.6?-5:0;\n        var isHi=d.value\u003e=4;\n        var t=el('text',{x:lx.toFixed(1),y:(ly+dy).toFixed(1),'text-anchor':anchor,'dominant-baseline':'middle','font-size':isHi?'12':'11','font-weight':'700',fill:'#1a1208','font-family':'-apple-system,sans-serif'});\n        t.textContent=d.label;\n        svg.appendChild(t);\n      });\n    })();\n    \u003c\/script\u003e\n\u003cdiv class=\"fg1-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"fg1-section-pad\"\u003e\n\u003cp class=\"fg1-label\"\u003eWhat you'll find\u003c\/p\u003e\n\u003ch3 class=\"fg1-h3\"\u003eThe components of your kingdom\u003c\/h3\u003e\n\u003cdiv class=\"fg1-cards\"\u003e\n\u003cdiv class=\"fg1-card\"\u003e\n\u003cspan class=\"fg1-card-icon\"\u003e🟢\u003c\/span\u003e\n\u003ch4 class=\"fg1-card-name\"\u003eMeadow Tiles\u003c\/h4\u003e\n\u003cp class=\"fg1-card-desc\"\u003eEach tile has a numerical value. They must be placed to form the kingdom, respecting overlapping constraints. They are the basis of the puzzle.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-card\"\u003e\n\u003cspan class=\"fg1-card-icon\"\u003e🏰\u003c\/span\u003e\n\u003ch4 class=\"fg1-card-name\"\u003eFortress Tiles\u003c\/h4\u003e\n\u003cp class=\"fg1-card-desc\"\u003eDefensive structures to build to protect the kingdom. Each scenario requires a minimum number of fortresses to win.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-card\"\u003e\n\u003cspan class=\"fg1-card-icon\"\u003e🌊\u003c\/span\u003e\n\u003ch4 class=\"fg1-card-name\"\u003eMoat Tiles\u003c\/h4\u003e\n\u003cp class=\"fg1-card-desc\"\u003eThe back of each tile can become a defensive moat. Choosing when to flip a card is one of the key decisions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-card\"\u003e\n\u003cspan class=\"fg1-card-icon\"\u003e⚔️\u003c\/span\u003e\n\u003ch4 class=\"fg1-card-name\"\u003eEnemy Cards\u003c\/h4\u003e\n\u003cp class=\"fg1-card-desc\"\u003eEach scenario introduces different enemies with specific rules. The further you advance in the campaign, the more relentless the assaults become.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fg1-closing\"\u003e\n\u003cp class=\"fg1-closing-text\"\u003eAt the end of the game, look at the kingdom you have built. And ask yourself: would a different tile have been enough?\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n.fg1-wrap, .fg1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.fg1-wrap {\n  font-family: Georgia, 'Times New Roman', serif;\n  border-radius: 24px;\n  overflow: hidden;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.32);\n  max-width: 1200px;\n  margin-left: auto;\n  margin-right: auto;\n  background: #1a1a1a;\n}\n.fg1-hero {\n  background: linear-gradient(135deg, #1a1a1a 0%, #222222 50%, #1a1a1a 100%);\n  padding: 32px 26px 36px;\n  position: relative;\n  overflow: hidden;\n}\n.fg1-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: radial-gradient(ellipse at top right, rgba(10,122,90,0.08) 0%, transparent 60%);\n  pointer-events: none;\n}\n.fg1-hero-content { position: relative; z-index: 2; }\n.fg1-kicker { display: block; color: #FFC857; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }\n.fg1-sub { color: rgba(255,255,255,0.88); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 18px; }\n.fg1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.fg1-chip { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }\n.fg1-chip--accent { background: #0a7a5a; border-color: #0a7a5a; }\n.fg1-specs-bar { background: #160a02; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.fg1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.fg1-spec { padding: 13px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }\n.fg1-spec:nth-child(3n) { border-right: none; }\n.fg1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.fg1-spec-icon { font-size: 1.2rem; }\n.fg1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.fg1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n.fg1-body { background: #F5EDD8; }\n.fg1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.fg1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #0a7a5a; margin-bottom: 7px; }\n.fg1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0800; line-height: 1.15; margin-bottom: 16px; }\n.fg1-p { font-family: sans-serif; font-size: 0.95rem; color: #3d2810; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n.fg1-quote-header { font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #0a7a5a; margin-bottom: 12px; }\n.fg1-quote { background: #1a0800; border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; border-left: 4px solid #FFC857; }\n.fg1-quote--dark { background: #3a0a00; }\n.fg1-quote-text { color: #fff; font-style: italic; font-size: 0.87rem; line-height: 1.6; margin-bottom: 6px; font-family: sans-serif; }\n.fg1-quote-transl { color: rgba(255,255,255,0.48); font-family: sans-serif; font-size: 0.76rem; line-height: 1.5; margin-bottom: 7px; font-style: italic; }\n.fg1-quote-source { color: rgba(255,255,255,0.43); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; }\n.fg1-divider { height: 1px; background: #d4c0a0; margin: 32px 28px 0; }\n.fg1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.fg1-fs-header { padding:14px 20px 13px; background:#fff; border-bottom:1px solid #e8e2da; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }\n.fg1-fs-brand { display:flex; align-items:center; gap:9px; }\n.fg1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.fg1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.fg1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.fg1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.fg1-fs-cat { font-family:sans-serif; font-size:10px; padding:3px 11px; border-radius:50px; font-weight:700; border:1.5px solid; white-space:nowrap; }\n.fg1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.fg1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.fg1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.fg1-fs-tip { display:none; position:absolute; background:#1a1208; color:rgba(255,255,255,0.92); font-family:sans-serif; font-size:11px; line-height:1.55; padding:8px 12px; border-radius:9px; z-index:20; max-width:210px; box-shadow:0 4px 18px rgba(0,0,0,0.22); pointer-events:none; }\n.fg1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.fg1-fs-feel-lbl { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:9px; }\n.fg1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.fg1-fs-feel-tag { font-family:Georgia,serif; font-size:13px; font-style:italic; color:#3d2810; padding:5px 14px; background:#fff; border-radius:7px; border:1px solid #d8d0c4; }\n.fg1-fs-section-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:10px; }\n.fg1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.fg1-fs-target { display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; border:1px solid; font-family:sans-serif; font-size:11px; font-weight:600; }\n.fg1-fs-target span { font-size:14px; flex-shrink:0; }\n.fg1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.fg1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.fg1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.fg1-fs-verdict-title { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:5px; }\n.fg1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.fg1-fs-solo { background:#f0ece4; border-top:1px solid #e0d8cc; padding:14px 18px; }\n.fg1-fs-solo-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }\n.fg1-fs-solo-icon { font-size:1.4rem; flex-shrink:0; }\n.fg1-fs-solo-text { display:flex; flex-direction:column; gap:2px; flex-grow:1; }\n.fg1-fs-solo-label { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.fg1-fs-solo-stars { font-family:sans-serif; font-size:14px; letter-spacing:2px; color:#0a7a5a; line-height:1; }\n.fg1-fs-solo-note { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.fg1-fs-footer { padding:9px 20px; background:#eeeae4; border-top:1px solid #e0d8cc; font-family:sans-serif; font-size:11px; color:#6b5e48; line-height:1.5; }\n.fg1-section-pad { padding: 32px 28px 8px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }\n.fg1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.fg1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.fg1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.fg1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.fg1-card-name { font-size: 0.95rem; font-weight: 900; color: #0a7a5a; margin-bottom: 5px; }\n.fg1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3d2810; line-height: 1.55; }\n.fg1-closing { background: #1a0800; padding: 26px 28px; border-top: 3px solid #FFC857; }\n.fg1-closing-text { font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.88); text-align: center; line-height: 1.6; }\n@media screen and (min-width: 600px) {\n  .fg1-specs { grid-template-columns: repeat(6, 1fr); }\n  .fg1-spec { border-bottom: none; }\n  .fg1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .fg1-spec:last-child { border-right: none; }\n  .fg1-cards { grid-template-columns: repeat(2, 1fr); }\n  .fg1-fs-body { grid-template-columns: 220px 1fr; }\n  .fg1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .fg1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .fg1-hero { padding: 40px 36px 44px; }\n  .fg1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .fg1-cards { grid-template-columns: repeat(4, 1fr); }\n  .fg1-divider { margin-left: 36px; margin-right: 36px; }\n  .fg1-section-pad { padding: 36px 36px 8px; }\n  .fg1-closing { padding: 28px 36px; }\n  .fg1-fs-body { grid-template-columns: 260px 1fr; }\n  .fg1-fs-radar-panel svg { max-width: 260px; }\n}\n\u003c\/style\u003e","brand":"Mancalamaro","offers":[{"title":"Default Title","offer_id":53959327220039,"sku":null,"price":19.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/OfSoilandStones.webp?v=1779367316","url":"https:\/\/frogames.business\/en\/products\/of-soil-and-stones","provider":"FroGames","version":"1.0","type":"link"}