
  :root{
    --verde: #1F4A3E;
    --verde-claro: #3C6B5C;
    --rose: #B4685E;
    --rose-claro: #D8A8A0;
    --dourado: #C99A4E;
    --creme: #FBF7F2;
    --creme-escuro: #F2E9E1;
    --texto: #3A3532;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{ scroll-padding-top:174px; }
  body{
    font-family:'Jost', sans-serif;
    color: var(--texto);
    background: var(--creme);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3, .serif{ font-family:'Cormorant Garamond', serif; }
  a{ text-decoration:none; color:inherit; }
  .wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(28px, 6vw, 90px); }

  /* TOP BAR */
  .topbar{
    background: var(--verde); color: var(--creme);
  }
  .topbar .wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding-top:9px; padding-bottom:9px;
  }
  .topbar .topbar-contact{ display:flex; gap:26px; }
  .topbar .topbar-contact a{
    color:var(--creme); font-size:12.5px; letter-spacing:0.5px; opacity:0.9;
    display:flex; align-items:center; gap:7px;
  }
  .topbar .topbar-contact a:hover{ opacity:1; }
  .topbar .topbar-contact svg{ width:15px; height:15px; flex-shrink:0; }
  .topbar .topbar-contact .contact-icon{ display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:rgba(251,247,242,0.14); flex-shrink:0; }
  .topbar .topbar-social{ display:flex; gap:16px; }
  .topbar .topbar-social a{ color:var(--creme); opacity:0.9; display:flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:0.5px; }
  .topbar .topbar-social a:hover{ opacity:1; }
  .topbar .topbar-social .ig-icon{ display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:rgba(251,247,242,0.14); flex-shrink:0; }
  .topbar .topbar-social svg{ width:15px; height:15px; }

  /* NAV */
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 0;
    background: rgba(251,247,242,0.92);
    backdrop-filter: blur(6px);
    border-bottom:1px solid #EADDD2;
    position: sticky; top:0; z-index:100;
    box-shadow: 0 2px 18px rgba(31,74,62,0.05);
  }
  nav .wrap{ display:flex; align-items:center; justify-content:space-between; }
  .brand{ display:flex; align-items:center; gap:12px; margin-left:-18px; }
  .brand img{ height:125px !important; width:auto !important; max-width:none !important; display:block; }
  nav ul{ list-style:none; display:flex; gap:42px; }
  nav ul a{ font-size:13.5px; letter-spacing:1.8px; text-transform:uppercase; color:var(--texto); font-weight:500; position:relative; padding-bottom:4px; }
  nav ul a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--rose); transition:width .25s; }
  nav ul a:hover::after, nav ul a.active::after{ width:100%; }
  nav ul a.active{ color:var(--rose); }

  /* SECTION HEADERS */
  .section{ padding:90px 0; }
  .section.alt{ background:var(--creme-escuro); }
  .section-head{ text-align:center; max-width:620px; margin:0 auto 56px; }
  .section-head .eyebrow{ text-align:center; }
  .section-head h2{ font-size:36px; color:var(--verde); font-weight:500; }
  .eyebrow{
    font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--rose);
    margin-bottom:18px; display:block;
  }
  .btn-primary{
    display:inline-block; background:var(--verde); color:var(--creme);
    padding:16px 34px; font-size:13px; letter-spacing:2px; text-transform:uppercase;
    border-radius:2px; transition:background .25s; border:none; cursor:pointer;
    font-family:'Jost',sans-serif;
  }
  .btn-primary:hover{ background:var(--rose); }
  .btn-secondary{
    display:inline-block; background:transparent; color:var(--verde);
    padding:15px 33px; font-size:13px; letter-spacing:2px; text-transform:uppercase;
    border-radius:2px; border:1px solid var(--verde); transition:background .25s, color .25s;
    cursor:pointer; font-family:'Jost',sans-serif;
  }
  .btn-secondary:hover{ background:var(--verde); color:var(--creme); }

  /* HERO / INTRO */
  .games-hero{ padding:64px 0 20px; text-align:center; }
  .games-hero h1{ font-size:46px; font-weight:500; color:var(--verde); margin-bottom:18px; }
  .games-hero h1 em{ font-style:italic; color:var(--rose); }
  .games-hero p.lead{ font-size:16.5px; color:#5c554f; max-width:640px; margin:0 auto; }

  /* NOTICE */
  .notice-box{
    max-width:820px; margin:34px auto 0; background:var(--creme-escuro);
    border:1px solid #E7DCD3; border-left:4px solid var(--dourado);
    border-radius:4px; padding:22px 26px; display:flex; gap:16px; align-items:flex-start;
    text-align:left;
  }
  .notice-box .notice-icon{ font-size:22px; line-height:1; flex-shrink:0; margin-top:2px; }
  .notice-box p{ font-size:14px; color:#5c554f; }
  .notice-box strong{ color:var(--verde); }

  /* GAMES GRID */
  .games-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:30px; }
  .game-card{
    background:var(--creme); border:1px solid #E7DCD3; padding:38px 32px;
    border-radius:6px; transition:transform .25s, box-shadow .25s;
    display:flex; flex-direction:column; text-align:left;
  }
  .game-card:hover{ transform:translateY(-4px); box-shadow:0 16px 30px rgba(31,74,62,0.08); }
  .game-card .icon{
    width:56px; height:56px; border-radius:50%; border:1px solid var(--dourado);
    display:flex; align-items:center; justify-content:center; margin-bottom:20px;
    font-size:26px;
  }
  .game-card h3{ font-size:23px; color:var(--verde); font-weight:500; margin-bottom:10px; }
  .game-card p{ font-size:14.5px; color:#6b635c; margin-bottom:22px; flex-grow:1; }
  .game-card .btn-primary{ align-self:flex-start; }
  .coming-soon{ opacity:0.55; }
  .coming-soon .btn-primary{ background:#B9AFA4; cursor:not-allowed; pointer-events:none; }

  /* ADULTOS - MAPA DE SI */
  .adult-feature{
    display:flex; align-items:center; gap:36px; background:#fff; border:1px solid #E7DCD3;
    border-radius:10px; padding:40px clamp(24px,5vw,48px); box-shadow:0 20px 50px rgba(31,74,62,0.06);
  }
  .adult-feature-icon{
    width:84px; height:84px; border-radius:50%; background:var(--creme-escuro); border:1px solid var(--dourado);
    display:flex; align-items:center; justify-content:center; font-size:38px; flex-shrink:0;
  }
  .adult-feature-body h3{ font-size:26px; color:var(--verde); font-weight:500; margin-bottom:10px; }
  .adult-feature-body p{ font-size:15px; color:#6b635c; margin-bottom:20px; }
  @media (max-width:640px){
    .adult-feature{ flex-direction:column; text-align:center; }
  }

  /* MODAL */
  .game-modal{
    display:none; position:fixed; inset:0; z-index:1000;
    background:rgba(31,26,22,0.55); padding:24px; overflow-y:auto;
    align-items:flex-start; justify-content:center;
  }
  .game-modal.open{ display:flex; }
  .game-modal-inner{
    background:var(--creme); border-radius:8px; max-width:760px; width:100%;
    margin:30px auto; padding:38px clamp(20px,5vw,48px) 44px; position:relative;
    box-shadow:0 30px 70px rgba(0,0,0,0.3);
  }
  .game-modal-close{
    position:absolute; top:18px; right:18px; width:38px; height:38px; border-radius:50%;
    border:1px solid #E7DCD3; background:var(--creme); color:var(--verde); font-size:18px;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .game-modal-close:hover{ background:var(--rose); color:var(--creme); border-color:var(--rose); }
  .game-modal h2{ font-size:28px; color:var(--verde); font-weight:500; margin-bottom:8px; padding-right:40px; }
  .game-modal .game-sub{ font-size:14px; color:#8a8178; margin-bottom:28px; }
  .game-restart-row{ margin-top:28px; text-align:center; }
  .game-restart-row .btn-secondary{ display:none; }
  .game-restart-row.show .btn-secondary{ display:inline-block; }

  /* WORD SEARCH */
  .ws-layout{ display:flex; gap:36px; flex-wrap:wrap; align-items:flex-start; }
  .ws-grid{
    display:grid; grid-template-columns:repeat(10, minmax(0,1fr)); gap:3px;
    max-width:400px; width:100%; user-select:none; touch-action:none;
  }
  .ws-cell{
    aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
    background:#fff; border:1px solid #E7DCD3; border-radius:3px;
    font-weight:600; font-size:clamp(11px,2.6vw,15px); color:var(--texto);
    cursor:pointer;
  }
  .ws-cell.selected{ background:var(--rose-claro); border-color:var(--rose); color:#fff; }
  .ws-cell.found{ background:var(--verde); border-color:var(--verde); color:var(--creme); }
  .ws-side{ flex:1; min-width:180px; }
  .ws-side h4{ font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--verde); margin-bottom:14px; }
  .ws-words{ list-style:none; display:flex; flex-direction:column; gap:10px; }
  .ws-words li{ font-size:15px; color:#5c554f; display:flex; align-items:center; gap:8px; }
  .ws-words li .mark{ width:16px; height:16px; border-radius:50%; border:1px solid #D9CCC1; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--creme); }
  .ws-words li.done{ color:var(--verde); text-decoration:line-through; }
  .ws-words li.done .mark{ background:var(--verde); border-color:var(--verde); }
  .ws-status{ margin-top:22px; font-size:14px; color:var(--verde); font-weight:500; }
  .ws-win{ margin-top:16px; font-size:15px; color:var(--rose); font-weight:500; display:none; }
  .ws-win.show{ display:block; }

  /* MEMORY */
  .mem-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; max-width:520px; margin:0 auto; }
  .mem-card{
    aspect-ratio:3/4; border-radius:6px; border:1px solid #E7DCD3; background:var(--verde);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    font-family:'Cormorant Garamond',serif; font-size:26px; color:rgba(255,255,255,0.5);
  }
  .mem-card.flipped, .mem-card.matched{
    background:#fff; flex-direction:column; gap:4px; color:var(--texto);
  }
  .mem-card.matched{ border-color:var(--verde); background:var(--creme-escuro); cursor:default; }
  .mem-card .mem-emoji{ font-size:30px; }
  .mem-card .mem-label{ font-size:11.5px; letter-spacing:0.5px; color:var(--verde); text-transform:uppercase; }
  .mem-status{ margin-top:22px; text-align:center; font-size:14px; color:var(--verde); font-weight:500; }
  .mem-win{ margin-top:12px; text-align:center; font-size:15px; color:var(--rose); font-weight:500; display:none; }
  .mem-win.show{ display:block; }

  /* DETECTIVE */
  .det-progress{ font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--rose); margin-bottom:18px; }
  .det-clues{ list-style:none; margin-bottom:26px; }
  .det-clues li{
    background:#fff; border:1px solid #E7DCD3; border-radius:4px; padding:14px 18px;
    margin-bottom:10px; font-size:15px; color:#5c554f; display:flex; gap:10px; align-items:flex-start;
  }
  .det-clues li .num{ color:var(--dourado); font-family:'Cormorant Garamond',serif; font-weight:600; }
  .det-options{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .det-opt{
    background:#fff; border:1px solid #D9CCC1; border-radius:4px; padding:16px; font-size:15px;
    font-family:'Jost',sans-serif; cursor:pointer; text-align:center; color:var(--texto);
    transition:border-color .2s;
  }
  .det-opt:hover:not(:disabled){ border-color:var(--rose); }
  .det-opt:disabled{ cursor:default; }
  .det-opt.correct{ border-color:var(--verde); background:var(--creme-escuro); color:var(--verde); font-weight:500; }
  .det-opt.wrong{ border-color:var(--rose); background:#F7EAE8; color:var(--rose); }
  .det-feedback{ margin-top:20px; padding:16px 18px; border-radius:4px; font-size:14.5px; display:none; }
  .det-feedback.show{ display:block; }
  .det-feedback.correct{ background:var(--creme-escuro); color:var(--verde); border-left:3px solid var(--verde); }
  .det-feedback.wrong{ background:#F7EAE8; color:#8a4a42; border-left:3px solid var(--rose); }
  .det-feedback .feedback-title{ font-weight:600; display:block; margin-bottom:4px; }
  .det-next{ margin-top:22px; text-align:right; display:none; }
  .det-next.show{ display:block; }
  .det-summary{ text-align:center; }
  .det-summary .score{ font-family:'Cormorant Garamond',serif; font-size:52px; color:var(--verde); margin:10px 0 6px; }

  @media (max-width: 860px){
    .games-grid{ grid-template-columns:1fr; }
    nav ul{ display:none; }
    .games-hero h1{ font-size:32px; }
    .topbar .topbar-contact a:first-child{ display:none; }
    .topbar .wrap{ justify-content:center; gap:20px; }
    .ws-layout{ flex-direction:column; }
    .ws-grid{ max-width:100%; }
    .mem-grid{ grid-template-columns:repeat(3,1fr); }
    .det-options{ grid-template-columns:1fr; }
  }

  /* WHATSAPP FLUTUANTE */
  .whatsapp-float{
    position:fixed; bottom:26px; right:26px; z-index:999;
    width:60px; height:60px; border-radius:50%;
    background:var(--verde); display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 22px rgba(0,0,0,0.22); transition:transform .2s, opacity .2s; opacity:0.85;
  }
  .whatsapp-float:hover{ transform:scale(1.08); opacity:1; }
  .instagram-float{
    position:fixed; bottom:96px; right:26px; z-index:999;
    width:60px; height:60px; border-radius:50%;
    background:var(--rose);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 22px rgba(0,0,0,0.2); transition:transform .2s, opacity .2s; opacity:0.85;
  }
  .instagram-float:hover{ transform:scale(1.08); opacity:1; }
  .instagram-float svg{ width:30px; height:30px; }
  .whatsapp-float svg{ width:30px; height:30px; }

  /* FOOTER */
  footer{ padding:60px 0 40px; }
  .foot-grid{ display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap:40px; margin-bottom:40px; }
  .foot-brand img{ height:133px !important; width:auto !important; max-width:none !important; margin-bottom:14px; display:block; }
  .foot-brand p{ font-size:13px; color:#8a8178; max-width:280px; }
  footer h4{ font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--verde); margin-bottom:16px; }
  footer ul{ list-style:none; }
  footer li{ font-size:14px; margin-bottom:10px; color:#5c554f; display:flex; align-items:center; gap:7px; }
  footer li svg{ width:14px; height:14px; flex-shrink:0; }
  footer li a{ display:flex; align-items:center; gap:7px; }
  footer li.endereco{ align-items:flex-start; }
  footer li.endereco svg{ margin-top:3px; }
  .foot-bottom{ border-top:1px solid #E7DCD3; padding-top:24px; font-size:12.5px; color:#a49a90; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; }
  .foot-bottom a{ color:#a49a90; text-decoration:underline; }
  .foot-bottom a:hover{ color:var(--rose); }
  @media (max-width: 860px){ .foot-grid{ grid-template-columns:1fr; } }

  /* botao Cadastre-se no menu */
  .nav-cta{ background:var(--verde); color:var(--creme) !important; padding:12px 26px; border-radius:2px; font-size:12.5px !important; text-transform:uppercase; letter-spacing:1.5px !important; font-weight:500; display:flex; align-items:center; gap:8px; transition:background .25s; }
  .nav-cta:hover{ background:var(--rose); color:var(--creme) !important; }
  .nav-cta::after{ display:none; }
  .nav-cta{ white-space:nowrap; }
  @media (min-width:861px) and (max-width:1200px){ nav ul{ gap:22px; } nav ul a{ letter-spacing:1.2px; } .nav-cta{ padding:12px 16px; } }
  @media (min-width:861px) and (max-width:960px){ nav ul{ gap:13px; } nav ul a{ font-size:12px; letter-spacing:.5px; } .nav-cta{ padding:10px 11px; font-size:11.5px !important; letter-spacing:.8px !important; } }

  /* RODA DA RESPIRAÇÃO */
  #modal-resp .game-sub{ margin-bottom:18px; }
  .resp-feel{ display:grid; grid-template-columns:repeat(5, 1fr); gap:8px; margin-bottom:24px; }
  .resp-feel button{
    background:#fff; border:1px solid #E7DCD3; border-radius:10px; padding:12px 4px 10px; cursor:pointer;
    font-family:'Jost',sans-serif; font-size:11.5px; color:var(--texto); line-height:1.25;
    display:flex; flex-direction:column; align-items:center; gap:6px; transition:border-color .2s, transform .15s, background .2s;
  }
  .resp-feel button span{ font-size:28px; line-height:1; }
  .resp-feel button:hover{ border-color:var(--rose); transform:translateY(-2px); }
  .resp-feel button.on{ background:var(--creme-escuro); border-color:var(--verde); box-shadow:0 0 0 1px var(--verde) inset; }
  .resp-label{ font-size:13px; color:var(--verde); text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; }
  .resp-ritmos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
  .resp-ritmos button{
    background:#fff; border:1px solid #E7DCD3; border-radius:10px; padding:12px 10px; cursor:pointer; text-align:left;
    font-family:'Jost',sans-serif; font-size:14px; color:var(--texto);
  }
  .resp-ritmos button small{ display:block; font-size:11.5px; color:#8a8178; margin-top:4px; }
  .resp-ritmos button.on{ border-color:var(--verde); box-shadow:0 0 0 1px var(--verde) inset; background:var(--creme-escuro); }
  .resp-hint{ font-size:13px; color:#8a8178; margin-top:18px; text-align:center; }

  .resp-stage{ position:relative; width:min(280px, 72vw); aspect-ratio:1; margin:6px auto 18px; }
  .resp-ring{ position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
  .resp-ring-bg{ fill:none; stroke:var(--creme-escuro); stroke-width:6; }
  .resp-ring-fg{ fill:none; stroke:var(--dourado); stroke-width:6; stroke-linecap:round; stroke-dasharray:590.6; stroke-dashoffset:590.6; }
  .resp-ball{
    position:absolute; left:50%; top:50%; width:44%; height:44%; border-radius:50%;
    transform:translate(-50%,-50%) scale(1);
    background:radial-gradient(circle at 35% 30%, var(--rose-claro), var(--rose) 55%, var(--verde-claro));
    box-shadow:0 10px 40px rgba(180,104,94,.35);
    display:flex; align-items:center; justify-content:center;
    transition-property:transform; transition-timing-function:ease-in-out;
  }
  .resp-ball span{ font-size:34px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.15)); }
  .resp-fase{ text-align:center; font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--verde); font-weight:600; min-height:38px; }
  .resp-dica{ text-align:center; font-size:14px; color:#8a8178; min-height:21px; margin-top:4px; }
  .resp-dots{ display:flex; justify-content:center; gap:10px; margin:20px 0 6px; }
  .resp-dots i{ width:12px; height:12px; border-radius:50%; background:var(--creme-escuro); border:1px solid #E7DCD3; transition:background .3s; }
  .resp-dots i.done{ background:var(--dourado); border-color:var(--dourado); }
  .resp-ctrl{ text-align:center; margin-top:14px; }
  .resp-pause{ padding:10px 24px; }
  .resp-final{
    background:var(--creme-escuro); border-radius:10px; padding:18px 20px; text-align:center;
    font-size:15px; line-height:1.6; color:var(--texto); display:none;
  }
  .resp-final.show{ display:block; }
  .resp-final strong{ color:var(--verde); }
  @media (max-width:560px){
    .resp-feel{ grid-template-columns:repeat(5, 1fr); gap:5px; }
    .resp-feel button{ font-size:10px; padding:10px 2px 8px; }
    .resp-feel button span{ font-size:24px; }
    .resp-ritmos{ grid-template-columns:1fr; }
  }
  #respStart{ margin-top:22px; cursor:pointer; border:none; }
  #respStart:disabled{ opacity:.45; cursor:default; }
