:root{--msw-primary:#2563eb;--msw-grad-from:#2563eb;--msw-grad-to:#06b6d4;--msw-cta:#22c55e;--msw-cta-hover:#16a34a;--msw-bg:#ffffff;--msw-bg-alt:#f8fafc;--msw-text:#111827}

body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";color:var(--msw-text);line-height:1.6}

.msw-container{max-width:1200px;margin:0 auto;padding:0 24px}
.msw-section{padding:80px 0}
.msw-section--alt{background:var(--msw-bg-alt)}

.msw-hero-title{font-size:56px;line-height:1.08;letter-spacing:-.02em}
.msw-hero-subtitle{font-size:22px}
.msw-section-title{font-size:36px;line-height:1.15;letter-spacing:-.02em}

.msw-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;font-weight:800;font-size:16px;line-height:1;padding:14px 18px;box-shadow:0 14px 40px rgba(15,23,42,.10);transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}
.msw-btn:active{transform:translateY(1px)}
.msw-btn--cta{background:var(--msw-cta);color:#fff}
.msw-btn--cta:hover{background:var(--msw-cta-hover)}
.msw-btn--ghost{background:#fff;border:1px solid rgba(17,24,39,.14);color:var(--msw-text)}
.msw-microcopy{margin-top:10px;font-size:12px;font-weight:700;color:rgba(17,24,39,.68)}

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

.msw-watermark{position:relative}
.msw-watermark:before{content:"";position:absolute;inset:-40px -30px;z-index:0;pointer-events:none;background-image:radial-gradient(900px 600px at 18% 0%, rgba(37,99,235,.14), transparent 60%),radial-gradient(900px 600px at 92% 12%, rgba(6,182,212,.14), transparent 55%);}
.msw-watermark:after{content:"";position:absolute;inset:-40px -30px;z-index:0;pointer-events:none;opacity:.9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%23111827' stroke-opacity='.05'%3E%3Cpath d='M55 210c32-60 98-100 174-100 56 0 107 21 144 56' stroke-width='12' stroke-linecap='round'/%3E%3Cpath d='M78 246c28-44 80-74 140-74 44 0 84 16 112 44' stroke-width='12' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:520px 520px;background-position:110% -30px;}

.msw-watermark > *{position:relative;z-index:1}

.chat{background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.10);box-shadow:0 18px 60px rgba(15,23,42,.10);}
.chat-top{background:linear-gradient(90deg, rgba(37,99,235,.10), rgba(6,182,212,.10));}
.bubble{border:1px solid rgba(15,23,42,.10)}
.bubble-me{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.20)}

.food-img{border:1px solid rgba(15,23,42,.10);box-shadow:0 18px 60px rgba(15,23,42,.08)}

.msw-modal-backdrop{background:rgba(2,6,23,.48)}

.media-placeholder{display:flex;flex-direction:column;justify-content:center;min-height:260px;border:2px dashed rgba(17,24,39,.22);background:linear-gradient(180deg, rgba(37,99,235,.06), rgba(6,182,212,.06));box-shadow:0 18px 60px rgba(15,23,42,.08)}
.media-placeholder__label{font-weight:900;letter-spacing:.02em;color:rgba(17,24,39,.92);font-size:13px}
.media-placeholder__desc{margin-top:10px;font-weight:700;color:rgba(17,24,39,.70);font-size:12px;line-height:1.35}
.media-placeholder__desc strong{font-weight:900;color:rgba(17,24,39,.84)}

/* Hero: vídeo alinhado à coluna do título até o botão; mobile em coluna única */
.msw-hero-layout{
  display:grid;
  gap:1rem 2.5rem;
  grid-template-columns:1fr;
  grid-template-areas:
    "badge"
    "lead"
    "video"
    "micro"
    "chat";
}
.msw-hero-badge{grid-area:badge}
.msw-hero-lead{grid-area:lead}
.msw-hero-calc{grid-area:video}
.msw-hero-micro{grid-area:micro}
.msw-hero-chat{grid-area:chat}
@media (min-width:768px){
  .msw-hero-layout{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "badge badge"
      "lead video"
      "micro chat";
    align-items:start;
    column-gap:2.5rem;
    row-gap:1.25rem;
  }
}

/* Vídeos: moldura tipo celular (9:16), largura limitada para alinhar ao texto e não dominar a página */
.msw-demo-video-wrap{
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  aspect-ratio:9/16;
  height:auto;
}
/* Largura também limitada pela altura máxima, para manter 9:16 real (evita caixa “mais larga” no Chrome/Windows com max-height). */
.msw-demo-video-wrap--hero{
  --vid-max-h:min(58vh,520px);
  --vid-max-w:min(288px,86vw);
  width:min(var(--vid-max-w),calc(var(--vid-max-h)*9/16));
  max-width:100%;
  max-height:var(--vid-max-h);
}
.msw-demo-video-wrap--secondary{
  --vid-max-h:min(66vh,557px);
  --vid-max-w:min(314px,95vw);
  width:min(var(--vid-max-w),calc(var(--vid-max-h)*9/16));
  max-width:100%;
  max-height:var(--vid-max-h);
}
.msw-demo-video-wrap video{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  object-fit:cover;
  object-position:center center;
}

.msw-calc-card{
  border:1px solid rgba(15,23,42,.12);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 18px 60px rgba(15,23,42,.12);
  padding:14px;
}
.msw-calc-card__title{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.01em;
  color:#111827;
  margin-bottom:10px;
}
.msw-calc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.msw-calc-field{
  display:grid;
  gap:4px;
}
.msw-calc-field span{
  font-size:11px;
  font-weight:800;
  color:#334155;
}
.msw-calc-field select,
.msw-calc-field input{
  width:100%;
  border:1px solid rgba(15,23,42,.15);
  border-radius:10px;
  padding:8px 10px;
  font-size:14px;
  font-weight:700;
  background:#fff;
  color:#0f172a;
}
.msw-calc-field--full{
  grid-column:1 / -1;
}
.msw-calc-error{
  border:1px solid #fecaca;
  background:#fef2f2;
  color:#991b1b;
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  font-weight:700;
  margin-bottom:10px;
}

.msw-result-card{
  background:linear-gradient(180deg,#242424 0%, #2e2e2e 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(2,6,23,.35);
}
.msw-result-top{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.msw-result-kicker{
  font-size:14px;
  letter-spacing:.06em;
  font-weight:800;
  color:rgba(255,255,255,.75);
}
.msw-result-kcal{
  margin-top:6px;
  font-size:50px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.02em;
}
.msw-result-subtitle{
  margin-top:8px;
  font-size:16px;
  font-weight:700;
  color:rgba(255,255,255,.82);
}
.msw-result-macros{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.msw-result-macro{
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(0,0,0,.18);
  padding:12px 8px;
  text-align:center;
}
.msw-result-macro__label{
  font-size:12px;
  font-weight:800;
  color:rgba(255,255,255,.9);
}
.msw-result-macro__blurArea{
  margin-top:8px;
  font-size:20px;
  font-weight:900;
  color:rgba(255,255,255,.88);
  filter:blur(4px);
  opacity:.85;
}
.msw-result-body{
  padding:14px 16px 14px;
  text-align:center;
}
.msw-result-tag{
  display:inline-flex;
  background:#c89f1a;
  color:#fff;
  border-radius:10px;
  padding:7px 14px;
  font-size:14px;
  font-weight:800;
}
.msw-result-main{
  margin:12px 0 0;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
}
.msw-result-sub{
  margin:8px 0 0;
  font-size:17px;
  line-height:1.3;
  color:rgba(255,255,255,.75);
  font-weight:700;
}
.msw-result-meals{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  overflow:hidden;
}
.msw-result-meals__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 11px;
  font-size:13px;
  font-weight:800;
  color:rgba(255,255,255,.92);
}
.msw-result-meals__row + .msw-result-meals__row{
  border-top:1px solid rgba(255,255,255,.08);
}
.msw-result-meals__kcal{
  filter:blur(3px);
  opacity:.9;
}
.msw-result-cta{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border-radius:14px;
  background:#22c55e;
  color:#fff;
  text-decoration:none;
  font-size:18px;
  font-weight:900;
  padding:13px 12px;
  box-shadow:0 14px 32px rgba(34,197,94,.3);
}
.msw-result-cta:hover{
  background:#16a34a;
}
.msw-result-micro{
  margin-top:12px;
  font-size:13px;
  color:rgba(255,255,255,.7);
  font-weight:700;
}
.msw-result-reset{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.25);
  background:transparent;
  color:#fff;
  border-radius:10px;
  padding:8px 12px;
  font-size:12px;
  font-weight:800;
}

details > summary{list-style:none}
details > summary::-webkit-details-marker{display:none}
details > summary{padding-right:28px;position:relative}
details > summary:after{content:"+";position:absolute;right:0;top:0;color:rgba(11,16,32,.65);font-weight:900}
details[open] > summary:after{content:"–"}

@media (max-width: 640px){
  .msw-hero-title{font-size:40px}
  .msw-hero-subtitle{font-size:18px}
  .msw-section-title{font-size:28px}
  .msw-calc-card{padding:10px}
  .msw-calc-card__title{font-size:15px}
  .msw-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .msw-calc-field span{font-size:10px}
  .msw-calc-field select,
  .msw-calc-field input{font-size:16px;padding:6px 8px}
  .msw-result-kcal{font-size:40px}
  .msw-result-main{font-size:17px}
  .msw-result-macros{gap:8px;padding:12px}
  .msw-result-macro__blurArea{font-size:18px}
  .msw-result-cta{font-size:16px}
  .msw-result-meals__row{font-size:12px;padding:8px 10px}
}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
}
