@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Nunito:wght@400;600;700;800&display=swap');

*,:before,:after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;color:#1d2b33;background:linear-gradient(180deg,#fff7ef 0%,#f6fbff 52%,#f3fff7 100%);line-height:1.65;overflow-x:hidden;padding-top:var(--header-h);min-height:calc(100vh - var(--header-h));display:flex;flex-direction:column}
a{text-decoration:none;color:var(--c1);transition:color .2s ease}
a:hover{color:#0b5c55}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer}

:root{
  --c1:#0e7a70;
  --c2:#f09a36;
  --c3:#ef5a3c;
  --header-h:84px;
  --bg:#f7fbff;
  --surface:#fff;
  --text:#1d2b33;
  --muted:#5f707c;
  --border:#d9e5ee;
  --danger:#b03030;
  --radius:18px;
  --shadow:0 12px 34px rgba(13,54,68,.1);
  --shadow-strong:0 20px 44px rgba(13,54,68,.18);
}

.container{width:min(1180px,92%);margin:0 auto}
.text-center{text-align:center}
.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}

.skip-link{position:absolute;left:50%;top:-120px;transform:translateX(-50%);padding:.5rem 1rem;background:var(--c1);color:#fff;border-radius:0 0 10px 10px;z-index:9999}
.skip-link:focus{top:0}

.site-header{position:fixed;top:0;left:0;right:0;z-index:1200;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(14,122,112,.2)}
main{flex:1 0 auto}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;gap:1rem;position:relative}
.logo{position:relative;font-family:'Baloo 2',cursive;font-size:1.6rem;font-weight:800;color:var(--c1);letter-spacing:.02em}
.logo span{display:inline-block;background:linear-gradient(120deg,var(--c1),#11b3a3,var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent;animation:logoGlow 2.8s ease-in-out infinite}
.logo:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,transparent,var(--c2),transparent);opacity:.8}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(240,154,54,0))}50%{filter:drop-shadow(0 0 8px rgba(240,154,54,.45))}}

.main-nav ul{display:flex;gap:.25rem;align-items:center}
.main-nav a{display:block;padding:.5rem .85rem;border-radius:12px;font-weight:700;font-size:.93rem;color:var(--text)}
.main-nav a:hover,.main-nav a[aria-current='page']{background:linear-gradient(120deg,var(--c1),#11a892);color:#fff}
.nav-toggle{display:none;border:none;background:none;width:42px;height:42px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);margin:5px auto;transition:.25s}
.nav-toggle[aria-expanded='true'] span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded='true'] span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.menu-item-has-children{position:relative}
.menu-item-has-children .submenu{display:none;position:absolute;top:100%;left:0;min-width:190px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:.4rem}
.menu-item-has-children .submenu a{padding:.5rem .6rem}
@media (hover:hover){.menu-item-has-children:hover .submenu{display:block}}

.hero{position:relative;padding:4.2rem 0 3rem;color:#fff;overflow:hidden;background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.25) 0 12%,transparent 14%),radial-gradient(circle at 88% 24%,rgba(255,255,255,.2) 0 10%,transparent 12%),linear-gradient(130deg,#0d7b71 0%,#14a895 48%,#ee9b3a 100%)}
.hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 15% 75%,rgba(255,255,255,.17) 2px,transparent 2px),radial-gradient(circle at 75% 12%,rgba(255,255,255,.15) 3px,transparent 3px),radial-gradient(circle at 62% 72%,rgba(255,255,255,.12) 2px,transparent 2px);background-size:180px 180px,220px 220px,200px 200px;opacity:.55}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:center;position:relative;z-index:1}
.hero-copy h1{font-family:'Baloo 2',cursive;font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;margin-bottom:.8rem}
.hero-copy p{font-size:clamp(1rem,1.6vw,1.2rem);max-width:640px;margin-bottom:1.2rem}
.hero-media img{border-radius:20px;border:1px solid rgba(255,255,255,.35);box-shadow:0 24px 50px rgba(5,26,31,.35)}

.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:12px;font-weight:800;padding:.7rem 1.35rem;font-size:.94rem;transition:all .25s ease}
.btn-primary{background:linear-gradient(120deg,#f3aa44,#dd7e2c);color:#221f1a;border-color:#dc8b34}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(221,126,44,.35);color:#fff}
.btn-outline{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.btn-outline:hover{background:#fff;color:var(--c1)}
.btn-accent{background:var(--c3);color:#fff;border-color:var(--c3)}
.btn-sm{padding:.45rem .95rem;font-size:.82rem}
.cookie-neutral{background:var(--bg);color:var(--text);border-color:var(--border)}
.cookie-reject{background:#fff;color:#8f1d1d;border-color:#e2b7b7}
.cookie-reject:hover{background:#fff2f2;color:#6c1111;border-color:#cf8e8e}

.section{padding:3.2rem 0}
.section-title{font-family:'Baloo 2',cursive;font-size:clamp(1.7rem,2.7vw,2.3rem);line-height:1.15;color:var(--text);margin-bottom:.4rem}
.section-subtitle{color:var(--muted);font-size:1.03rem;margin-bottom:1.5rem}

.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.metric-card{background:linear-gradient(180deg,#fff,#f7fcff);border:1px solid var(--border);border-radius:14px;padding:1rem;box-shadow:var(--shadow);text-align:center}
.metric-card strong{display:block;font-size:1.3rem;color:var(--c1);font-weight:800}
.metric-card span{font-size:.88rem;color:var(--muted)}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.15rem}
.cat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.7rem;transition:all .25s ease;color:inherit}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong)}
.cat-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.cat-card h3{font-size:1.05rem;color:var(--text)}
.cat-card p{font-size:.9rem;color:var(--muted)}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem}
.card,.game-detail,.checklist,.quiz-card,.form-card,.contact-info-card,.value-card,.related,.legal-content{background:linear-gradient(180deg,#fff,#f8fdff);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{overflow:hidden}
.card-body{padding:1.1rem}
.card-body h3{margin-bottom:.4rem;font-size:1.05rem}
.card-body p{font-size:.9rem;color:var(--muted)}

.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.filter-btn{padding:.45rem .95rem;border:2px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-weight:700}
.filter-btn:hover,.filter-btn.active{background:linear-gradient(120deg,var(--c1),#12a390);border-color:var(--c1);color:#fff}

.game-detail,.quiz-card,.legal-content{padding:1.3rem;margin-bottom:1.2rem}
.game-detail h2,.quiz-card h3{font-family:'Baloo 2',cursive;color:var(--c1);font-size:1.45rem;margin-bottom:.4rem}
.game-detail h3{font-size:1.04rem;margin:.9rem 0 .35rem;color:var(--text)}
.game-detail p,.quiz-card p,.legal-content p{color:var(--muted);font-size:.95rem}
.game-detail ul,.game-detail ol,.legal-content ul{padding-left:1.2rem;list-style:initial}
.game-detail ol{list-style:decimal}
.game-detail li,.legal-content li{margin:.25rem 0;color:var(--text);font-size:.93rem}
.game-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}
.game-meta span{background:#eef8fb;border:1px solid #d7eaf1;padding:.24rem .58rem;border-radius:999px;color:#40606f;font-size:.82rem}

.quiz-q{padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:#fff;margin-bottom:.6rem}
.answer{margin-top:.35rem;color:#355a44;font-weight:700;font-size:.9rem}

.accordion{margin-top:.65rem}
.accordion-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.8rem .95rem;border:1px solid var(--border);background:#fff;border-radius:12px;font-weight:700;color:var(--text)}
.accordion-trigger:hover{border-color:var(--c1);color:var(--c1)}
.accordion-trigger svg{width:20px;height:20px;transition:transform .25s ease}
.accordion-trigger[aria-expanded='true'] svg{transform:rotate(180deg)}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 .95rem}
.accordion-panel[aria-hidden='false']{max-height:1000px;padding:.65rem .95rem .9rem}

.page-header{padding:2.6rem 0 2rem;background:linear-gradient(130deg,#0f756d,#15a28f 55%,#ed9c39);color:#fff;position:relative;overflow:hidden}
.page-header>.container{position:relative;z-index:2}
.page-header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:36px;background:var(--bg);clip-path:ellipse(57% 100% at 50% 100%);z-index:1;pointer-events:none}
.page-header h1{font-family:'Baloo 2',cursive;font-size:clamp(1.9rem,3.2vw,2.55rem);line-height:1.1}
.page-header p{opacity:.92;margin-top:.45rem}

.breadcrumb{padding:1rem 0 .7rem;font-size:.86rem;color:var(--muted)}
.breadcrumb a{color:var(--c1)}

.value-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.value-card{padding:1.1rem;text-align:left}
.value-card h3{font-size:1rem;margin-bottom:.25rem;color:var(--text)}
.value-card p{font-size:.88rem;color:var(--muted)}

.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem;align-items:start;margin-bottom:1.2rem}
.about-text h2{font-family:'Baloo 2',cursive;color:var(--c1);margin-bottom:.4rem}
.about-text p{margin-bottom:.7rem;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.contact-info-card,.form-card{padding:1.2rem}
.contact-info-item{margin-bottom:.9rem;color:var(--text);font-size:.94rem}
.form-group{margin-bottom:.9rem}
.form-group label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.35rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.62rem .82rem;border:2px solid var(--border);border-radius:10px;background:#f8fdff;font-size:.93rem}
.form-group textarea{min-height:120px;resize:vertical}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--c1);background:#fff}
.consent-wrap{display:flex;gap:.6rem;align-items:flex-start;flex-direction:column;padding:.7rem;border:1px solid var(--border);border-radius:10px;background:#fff}
.consent-check{display:flex;align-items:center;gap:.55rem;color:var(--text);font-weight:700;line-height:1.35}
.consent-check input{margin:0;inline-size:1rem;block-size:1rem;flex:0 0 auto}
.consent-text{font-size:.86rem;color:var(--muted)}
.form-msg{display:none;margin-top:.75rem;padding:.7rem .9rem;border-radius:10px;font-size:.9rem}
.form-msg.success{display:block;background:#dff8e9;border:1px solid #8ce3b4;color:#0c6a3e}
.form-msg.error{display:block;background:#ffe8e8;border:1px solid #f5b0b0;color:#8f1d1d}
.hp-field{position:absolute;left:-9999px;opacity:0;width:0;height:0;overflow:hidden}

.related{padding:1.2rem}
.related h2{font-size:1.1rem;margin-bottom:.55rem}
.related p{font-size:.9rem;color:var(--muted)}
.related-links{display:flex;flex-wrap:wrap;gap:.55rem}
.related-links a{padding:.45rem .8rem;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:.85rem;color:var(--text)}
.related-links a:hover{border-color:var(--c1);color:var(--c1)}

.site-footer{margin-top:auto;padding:2.7rem 0 1.2rem;background:linear-gradient(140deg,#112f3a,#0a4a58);color:#d7ecf2}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.2rem;margin-bottom:1.5rem}
.footer-col h4{color:#fff;margin-bottom:.5rem}
.footer-col p,.footer-col a{font-size:.88rem;color:#c8e4ec}
.footer-col a{display:block;padding:.18rem 0}
.footer-col a:hover{color:#fff}
.footer-bottom{padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);text-align:center;font-size:.83rem}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;transform:translateY(100%);background:#fff;border-top:2px solid var(--c1);padding:1rem;box-shadow:0 -8px 24px rgba(0,0,0,.13);z-index:1400;transition:transform .3s ease}
.cookie-banner.show{transform:translateY(0)}
.cookie-inner{max-width:1200px;margin:0 auto}
.cookie-banner h3{font-size:1rem;margin-bottom:.3rem}
.cookie-banner p{font-size:.86rem;color:var(--muted);margin-bottom:.6rem}
.cookie-buttons{display:flex;flex-wrap:wrap;gap:.45rem}
.cookie-settings{display:none;margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--border)}
.cookie-settings.open{display:block}
.cookie-opt{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border)}
.cookie-opt:last-child{border-bottom:none}
.cookie-select{min-width:120px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:8px;background:#fff}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{text-align:center}
  .hero-copy>div{justify-content:center}
  .hero-copy p{margin-inline:auto}
  .metrics-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid,.about-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
  .nav-toggle{display:block}
  .main-nav{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:1rem;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
  .main-nav.open{opacity:1;transform:translateY(0);pointer-events:auto}
  .main-nav ul{flex-direction:column;align-items:stretch}
  .main-nav a{padding:.62rem .9rem}
}

@media (max-width:540px){
  .metrics-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

@media print{
  .site-header,.site-footer,.cookie-banner,.filter-bar{display:none}
  body{background:#fff;color:#000}
}
