:root{
    --linen:#F4EFE9; --paper:#ECE3D2; --paper-border:#CDBB9C;
    --ink:#1C1917; --wine:#541413; --wine-light:#8C3F3A; --white:#FFFFFF;
    --serif:'Yeseva One', Georgia, serif; --sans:'Syne', system-ui, sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;background:var(--wine);}
  body{background:var(--wine);color:var(--ink);font-family:var(--sans);margin:0;}
  a{color:inherit;}
  .wrap{max-width:900px;margin-inline:auto;padding-inline:20px;position:relative;}
  .prose{max-width:620px;position:relative;z-index:1;}
  button{font:inherit;}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }

  header.nav{
    position:fixed;left:0;right:0;top:0;z-index:90;
    background:rgba(28,25,23,.34);backdrop-filter:blur(10px);
    transition:opacity .5s ease;
  }
  header.nav.header-hidden{opacity:0;pointer-events:none;}
  .nav-inner{max-width:900px;margin-inline:auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;}
  .nav-logo{height:24px;display:block;}
  nav.links{display:flex;gap:22px;flex-wrap:wrap;}
  nav.links button{font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;background:none;border:none;cursor:pointer;color:rgba(244,239,233,.85);padding:6px 2px;border-bottom:2px solid transparent;text-shadow:0 1px 4px rgba(0,0,0,.3);}
  nav.links button[aria-current="true"]{color:#fff;border-bottom-color:#fff;}
  nav.links button:hover{color:#fff;}
  .nav-toggle{display:none;background:none;border:none;color:#F4EFE9;font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 6px;}
  @media (max-width:640px){
    .nav-toggle{display:block;}
    nav.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
      background:rgba(20,17,16,.94);backdrop-filter:blur(10px);padding:6px 20px 16px;
      border-bottom-left-radius:14px;border-bottom-right-radius:14px;}
    nav.links.open{display:flex;}
    nav.links button{width:100%;text-align:left;padding:13px 2px;border-bottom:1px solid rgba(244,239,233,.14);}
  }

  section.screen{padding-block:60px 0;scroll-margin-top:70px;position:relative;overflow:hidden;}
  .bg-linen{background:var(--linen);}
  .bg-paper{background:var(--paper);}
  .wave{display:block;line-height:0;margin-bottom:-2px;}
  .wave svg{display:block;width:100%;height:clamp(28px,6vw,60px);}

  .eyebrow{font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wine);margin:0 0 10px;position:relative;z-index:1;}
  h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance;margin:0 0 .5em;line-height:1.15;position:relative;z-index:1;}
  h1{font-size:clamp(2rem,5vw,3.1rem);}
  h2{font-size:clamp(1.6rem,3.6vw,2.3rem);}
  h3{font-size:1.25rem;}
  p{line-height:1.65;margin:0 0 1em;}
  .lede{font-size:1.05rem;}

  .sticker{position:absolute;pointer-events:none;filter:drop-shadow(0 8px 14px rgba(28,25,23,.22));z-index:0;}
  @media (max-width:340px){.sticker{display:none;}}
  /* reserve room next to the collage stickers so headings never run under them */
  #screen-sobre .eyebrow, #screen-sobre h2{padding-right:clamp(62px,18vw,150px);}
  #screen-servicos .eyebrow, #screen-servicos h2{padding-left:clamp(42px,11vw,72px);}
  #screen-orcamento .eyebrow, #screen-orcamento h2{padding-right:clamp(46px,12vw,78px);}

  /* SCROLL REVEAL */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .reveal-2{transition-delay:.12s;}
  .reveal-3{transition-delay:.22s;}
  @media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none;} }

  /* HOME */
  #home{padding:0;}
  .hero{background:var(--wine);color:var(--white);padding:128px 20px 64px;text-align:center;}
  .torn-divider{display:block;line-height:0;margin-bottom:-2px;}
  .torn-divider svg{display:block;width:100%;height:clamp(46px,11vw,110px);}
  .hero .nav-logo-big{width:min(78vw,620px);height:auto;margin-bottom:clamp(22px,4.5vw,40px);}
  .hero-line{font-weight:500;font-size:1rem;letter-spacing:.01em;color:rgba(244,239,233,.6);max-width:440px;margin:0 auto;}
  .btn{display:inline-block;font-weight:700;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;padding:13px 26px;border-radius:999px;cursor:pointer;border:1px solid transparent;text-decoration:none;}
  .btn-glass{margin-top:32px;background:rgba(255,255,255,.12);color:var(--white);border-color:rgba(255,255,255,.4);backdrop-filter:blur(4px);}
  .btn-glass:hover{background:rgba(255,255,255,.22);}
  .btn-wine{background:var(--wine);color:var(--white);}
  .btn-wine:hover{background:var(--wine-light);}
  .btn-outline{background:transparent;color:var(--wine);border-color:var(--wine);}
  .btn-outline:hover{background:var(--wine);color:var(--white);}

  .card{background:var(--paper);border:1px solid var(--paper-border);border-radius:14px;padding:28px;}

  /* SOBRE */
  .carta-trigger{display:inline-flex;flex-direction:column;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:0;margin-top:8px;position:relative;z-index:1;}
  .carta-trigger img{width:220px;height:auto;transition:transform .25s ease;}
  .carta-trigger:hover img{transform:translateY(-4px) rotate(-1.5deg);}
  .carta-cta{font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--wine);}

  .overlay{position:fixed;inset:0;background:rgba(28,25,23,0);z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;transition:background .35s ease;}
  .overlay[hidden]{display:none;}
  .overlay.open{background:rgba(28,25,23,.8);}

  .carta-paper{position:relative;width:min(600px,94vw);max-height:86vh;overflow-y:auto;border-radius:8px;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(0,0,0,.4);transform:scale(.55) translateY(50px);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease;}
  .overlay.open .carta-paper{transform:scale(1) translateY(0);opacity:1;}
  .carta-paper::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
    background:linear-gradient(to bottom,
      transparent 0 calc(33.333% - 1px),
      rgba(28,25,23,.16) calc(33.333% - 1px) calc(33.333% + 1px),
      transparent calc(33.333% + 1px) calc(66.666% - 1px),
      rgba(28,25,23,.16) calc(66.666% - 1px) calc(66.666% + 1px),
      transparent calc(66.666% + 1px) 100%);}
  .carta-inner{background:rgba(244,239,233,.82);margin:26px;padding:26px 24px;border-radius:4px;}
  .carta-inner .tag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wine);margin-bottom:8px;}
  .carta-inner h3{margin-bottom:16px;}
  .carta-inner p:last-child{margin-bottom:0;}

  .modal-card{position:relative;width:min(520px,92vw);max-height:84vh;overflow-y:auto;background:var(--white);border:1px solid var(--paper-border);border-radius:14px;padding:34px 28px 28px;transform:scale(.9);opacity:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease;}
  .overlay.open .modal-card{transform:scale(1);opacity:1;}
  .modal-card .practices{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:0;list-style:none;}
  .modal-card .practices li{background:var(--linen);border:1px solid var(--paper-border);border-radius:999px;padding:5px 12px;font-size:.78rem;}

  .win-card{padding:0;overflow:hidden;display:flex;flex-direction:column;}
  .win-bar{background:var(--ink);display:flex;align-items:center;gap:6px;padding:12px 46px 12px 16px;flex:0 0 auto;}
  .win-dot{width:10px;height:10px;border-radius:50%;background:var(--paper-border);display:inline-block;}
  .win-dot.wine{background:var(--wine-light);}
  .win-title{margin-left:8px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(244,239,233,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .win-body{padding:26px 28px 28px;overflow-y:auto;}
  .win-card .close-x{top:8px;right:10px;width:28px;height:28px;font-size:1rem;background:rgba(244,239,233,.14);color:var(--linen);border:1px solid rgba(244,239,233,.3);}

  .close-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(28,25,23,.75);color:var(--white);border:none;cursor:pointer;font-size:1.1rem;line-height:1;}
  .modal-card .close-x{background:var(--linen);color:var(--ink);border:1px solid var(--paper-border);}
  @media (prefers-reduced-motion:reduce){ .overlay,.carta-paper,.modal-card{transition:none !important;} }

  /* METODO mindmap */
  .mindmap{position:relative;aspect-ratio:1;max-width:560px;margin:34px auto 20px;z-index:1;}
  .mindmap-lines{position:absolute;inset:0;width:100%;height:100%;}
  .mindmap-lines circle{fill:none;stroke:var(--paper-border);stroke-width:.6;stroke-dasharray:2.4 2.2;}
  .mindmap-lines line{stroke:var(--paper-border);stroke-width:.5;}
  .mindmap-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:136px;height:136px;display:flex;align-items:flex-start;justify-content:center;z-index:2;}
  .hub-heart{position:absolute;inset:0;width:100%;height:100%;fill:var(--wine);filter:drop-shadow(0 6px 10px rgba(28,25,23,.25));}
  .hub-text{position:relative;margin-top:38px;color:var(--white);font-family:var(--serif);font-size:.85rem;line-height:1.2;text-align:center;max-width:64%;}
  .mindmap-node{position:absolute;transform:translate(-50%,-50%);background:var(--linen);border:1px solid var(--paper-border);border-radius:12px;padding:9px 12px;cursor:pointer;color:var(--ink);text-align:center;width:118px;z-index:2;}
  .mindmap-node .num{display:block;font-family:var(--serif);color:var(--wine);font-size:1rem;}
  .mindmap-node .name{display:block;font-size:.78rem;font-weight:700;}
  .mindmap-node:hover{border-color:var(--wine);}
  .mindmap-node[aria-pressed="true"]{background:var(--wine);border-color:var(--wine);}
  .mindmap-node[aria-pressed="true"] .num,.mindmap-node[aria-pressed="true"] .name{color:var(--white);}
  .mindmap-detail{position:relative;z-index:1;max-width:620px;margin-inline:auto;background:var(--white);border:1px solid var(--paper-border);border-radius:12px;padding:22px 24px;min-height:60px;}
  .mindmap-detail p{margin:0;}
  .mindmap-detail .d-tag{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--wine);margin-bottom:6px;display:block;}
  @media (max-width:680px){
    .mindmap{aspect-ratio:auto;display:flex;flex-direction:column;gap:10px;max-width:420px;}
    .mindmap-lines{display:none;}
    .mindmap-hub{position:relative;left:0;top:0;transform:none;width:104px;height:104px;margin:0 auto 10px;align-items:flex-start;}
    .hub-text{margin-top:30px;font-size:.8rem;}
    .mindmap-node{position:static;transform:none;width:auto;text-align:left;display:flex;gap:10px;align-items:baseline;}
  }

  /* SERVICOS */
  .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;position:relative;z-index:1;}
  .tile{text-align:left;background:var(--white);border:1px solid var(--paper-border);border-radius:14px;padding:20px;cursor:pointer;color:var(--ink);position:relative;overflow:hidden;transform:rotate(-1.1deg);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;box-shadow:0 6px 14px rgba(28,25,23,.08);}
  .tile:nth-child(2n){transform:rotate(.9deg);}
  .tile:nth-child(3n){transform:rotate(-.6deg);}
  .tile:nth-child(4n){transform:rotate(1.3deg);}
  .tile::after{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 17px 17px 0;border-color:transparent var(--paper-border) transparent transparent;transition:border-color .25s ease;}
  .tile:hover,.tile:focus-visible{border-color:var(--wine);transform:rotate(0deg) translateY(-3px);box-shadow:0 12px 20px rgba(28,25,23,.14);}
  .tile:hover::after,.tile:focus-visible::after{border-color:transparent var(--wine-light) transparent transparent;}
  .tile .tile-name{font-family:var(--serif);font-size:1.15rem;margin-bottom:6px;display:block;}
  .tile .tile-tag{font-size:.88rem;opacity:.75;}
  .pacotes{margin-top:56px;max-width:620px;position:relative;z-index:1;background:var(--white);border:1px solid var(--paper-border);border-radius:0 14px 14px 14px;padding:24px 26px 26px;}
  .pacotes::before{content:'Combos';position:absolute;top:-31px;left:-1px;background:var(--paper);border:1px solid var(--paper-border);border-bottom:none;border-radius:8px 8px 0 0;padding:7px 18px 9px;font-family:var(--serif);font-size:.82rem;color:var(--wine);}
  .pacotes h3{margin-top:0;}
  @media (prefers-reduced-motion:reduce){ .tile{transition:none;} }

  /* ORCAMENTO */
  .cart-zone{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-start;margin-top:26px;position:relative;z-index:1;}
  .cart-card{position:relative;width:230px;flex:0 0 auto;background:var(--white);border:1px solid var(--paper-border);border-radius:10px;padding:34px 18px 20px;transform:rotate(-2deg);box-shadow:0 14px 26px rgba(28,25,23,.15);}
  .cart-tape{position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-5deg);width:74px;height:24px;background:rgba(140,63,58,.32);border:1px solid rgba(140,63,58,.45);}
  .cart-tag{position:absolute;right:-16px;top:30px;background:var(--wine);color:var(--white);font-family:var(--serif);font-size:.68rem;line-height:1.2;padding:8px 10px;border-radius:3px 10px 10px 10px;transform:rotate(9deg);box-shadow:0 4px 8px rgba(28,25,23,.25);text-align:center;}
  .cart-basket{width:100%;height:auto;display:block;}
  .basket-item{opacity:0;transform:scale(.2);transform-origin:center;transition:transform .35s cubic-bezier(.3,1.4,.4,1),opacity .2s;}
  .basket-item.in{opacity:1;transform:scale(1);}
  .chips{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 260px;align-content:flex-start;}
  .chip{font-weight:700;font-size:.82rem;background:var(--white);border:1px solid var(--paper-border);border-radius:999px;padding:9px 18px;cursor:pointer;color:var(--ink);height:fit-content;}
  .chip[aria-pressed="true"]{background:var(--wine);border-color:var(--wine);color:var(--white);}
  .resumo{margin-top:22px;font-size:.92rem;position:relative;z-index:1;}
  .resumo b{color:var(--wine);}
  .whats-preview{margin-top:18px;background:var(--white);border:1px dashed var(--paper-border);border-radius:12px;padding:16px;font-size:.85rem;white-space:pre-wrap;display:none;position:relative;z-index:1;}
  .whats-preview.open{display:block;}

  /* CONTATO */
  footer.contato{background:var(--ink);color:var(--linen);padding:46px 20px 56px;position:relative;overflow:hidden;}
  .contato-grid{max-width:900px;margin-inline:auto;display:flex;gap:36px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;position:relative;z-index:1;}
  .contato-list{list-style:none;padding:0;margin:14px 0 0;font-size:.88rem;line-height:2;}
  .contato-list .todo{color:var(--wine-light);}
  .contato-note{font-size:.74rem;opacity:.6;margin-top:18px;max-width:420px;position:relative;z-index:1;}

  .section-foot-nav{margin-top:48px;display:flex;justify-content:flex-end;position:relative;z-index:1;}

  /* CURSOR + BRILHO */
  #cursorRing{display:none;}
  @media (hover:hover) and (pointer:fine){
    body{cursor:none;}
    #cursorRing{
      display:block;position:fixed;left:0;top:0;width:26px;height:26px;
      border:2px solid #F4EFE9;border-radius:50%;pointer-events:none;z-index:9999;
      mix-blend-mode:difference;transform:translate(-50%,-50%);
      transition:width .18s ease,height .18s ease;
    }
    #cursorRing.hover{width:46px;height:46px;}
    a,button,.chip,.tile,.mindmap-node,.carta-trigger{cursor:none;} *,*::before,*::after{cursor:none!important;}
  }
  .click-glow{
    position:fixed;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;
    pointer-events:none;z-index:9998;
    background:radial-gradient(circle,rgba(244,239,233,.95) 0%,rgba(140,63,58,.55) 45%,rgba(84,20,19,0) 72%);
    animation:glowPop .5s ease-out forwards;
  }
  @keyframes glowPop{0%{transform:scale(.3);opacity:1;}100%{transform:scale(7);opacity:0;}}
  .spark{
    position:fixed;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:#F4EFE9;
    pointer-events:none;z-index:9998;transform:rotate(45deg);
    animation:sparkFly .55s ease-out forwards;
  }
  @keyframes sparkFly{
    0%{transform:translate(0,0) rotate(45deg) scale(1);opacity:1;}
    100%{transform:translate(var(--dx),var(--dy)) rotate(45deg) scale(0);opacity:0;}
  }
  @media (prefers-reduced-motion:reduce){
    .click-glow,.spark{animation:none;display:none;}
  }
