@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#faf8f3;--ink:#253b31;--olive:#425a35;--muted:#667064;--line:#dce0d3;--soft:#e9eddf;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a56132;outline-offset:5px}::selection{background:#dce4bf}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.preview{background:#e9eddf;text-align:center;font-size:12px;letter-spacing:.07em;padding:6px 20px}.header{border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:28px}.brand{font:30px var(--serif);white-space:nowrap;letter-spacing:-1px}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:4px;text-align:center;margin-top:8px}.navlinks{display:flex;align-items:center;gap:35px;font-size:14px}.navlinks a[aria-current=page]:not(.btn){border-bottom:1px solid var(--olive)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:50px;padding:13px 25px;background:var(--olive);color:white;border:1px solid var(--olive);border-radius:3px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.btn:hover{background:#2f4326;transform:translateY(-2px)}.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.arrow{font-size:20px}.menu{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:70px;align-items:center;padding-top:65px;padding-bottom:70px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 22px}.hero h1{font:clamp(44px,5.2vw,72px)/1.08 var(--serif);letter-spacing:-2.8px;margin:0 0 25px;font-weight:400}em{font-weight:400;color:#6c7e4e}.intro{max-width:445px;color:var(--muted);margin:0 0 29px}.hero-note{display:block;font-size:12px;color:var(--muted);margin-top:20px}.hero-visual{position:relative}.food{display:block;width:100%;height:520px;object-fit:cover;border-radius:48% 48% 3px 3px;background:#dce0d3}.photo-caption{font-size:11px;color:var(--muted);text-align:right;margin:8px 0}.image-tag{position:absolute;bottom:38px;left:-30px;background:var(--paper);box-shadow:0 6px 30px #253b3110;padding:18px 24px;border:1px solid var(--line);font:22px/1.4 var(--serif);transform:rotate(-4deg)}.ribbon{border-block:1px solid var(--line);padding:22px 0}.ribbon .wrap{display:flex;justify-content:space-between;gap:20px;font-size:13px}.ribbon span:before{content:'✳';margin-right:15px;color:#79865c}.section{padding-block:90px}.section h2,.cta h2{font:clamp(34px,3.8vw,50px)/1.16 var(--serif);letter-spacing:-1.5px;margin:0 0 24px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-top h2{margin-bottom:0}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.portrait-placeholder{height:360px;background:#e4e8db;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:3px 100px 3px 3px;border:1px solid #d5dccb;color:#6b775d}.monogram{font:100px var(--serif);letter-spacing:-12px;margin-left:-12px}.portrait-placeholder span:last-child{font-size:12px;letter-spacing:1px;max-width:220px;text-align:center;margin-top:20px}.body-copy{color:var(--muted);max-width:600px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.benefit{padding-top:25px;border-top:1px solid #c5cebb}.number{font:italic 25px var(--serif);color:#82926c}.benefit h3{font:26px var(--serif);margin:22px 0 12px}.benefit p{font-size:15px;color:var(--muted)}.soft{background:var(--soft)}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.program{border:1px solid #d4dbc8;background:#f7f8f0;padding:38px;position:relative}.program.dark{background:#344a36;color:#fff;border-color:#344a36}.program h3{font:38px var(--serif);margin:30px 0 15px}.program p{max-width:400px;color:var(--muted)}.program.dark p{color:#dce4d5}.pill{font-size:11px;letter-spacing:1px;border:1px solid #a9b59b;border-radius:30px;padding:6px 12px}.program .text-link{display:inline-block;margin-top:22px}.testimonials{text-align:center;max-width:760px;margin:auto}.quote-placeholder{border:1px dashed #c1c9b8;padding:30px;color:var(--muted);font-size:15px}.quote-mark{font:80px/.7 var(--serif);color:#889572}.cta{background:#344a36;color:white;padding:65px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin-bottom:12px}.cta p{margin:0;color:#dce4d5}.footer{padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:50px}.footer .brand{display:inline-block}.footer p,.footer a:not(.brand){font-size:14px}.footer h3{font-size:13px;font-weight:600;margin:0 0 15px}.footer-links{display:flex;flex-direction:column;align-items:start;gap:9px}.pending{color:var(--muted);font-size:13px}.bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:23px;font-size:12px;color:var(--muted)}.page-title{padding:75px 0 40px;max-width:760px}.page-title h1{font:clamp(43px,5vw,66px)/1.1 var(--serif);letter-spacing:-2px;margin:15px 0 24px}.editor-note{font-size:13px;color:#726345;border-left:2px solid #b7a37a;padding:10px 16px;background:#f0ede3}.details-list{display:grid;gap:18px}.details-list article{border-bottom:1px solid var(--line);padding:15px 0 25px}.details-list h3{font:27px var(--serif);margin:0 0 10px}.details-list p{margin:0;color:var(--muted)}.destination{padding:30px;border:1px dashed #9ba98a;margin-top:28px}.destination h3{font:28px var(--serif);margin:0 0 12px}.destination code{overflow-wrap:anywhere}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:500}details p{color:var(--muted)}.legal{max-width:780px;padding-bottom:80px}.legal h2{font:28px var(--serif);margin-top:35px}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.nav{min-height:85px;flex-wrap:wrap;gap:0}.brand{font-size:26px}.menu{display:block}.navlinks{display:none;width:100%;padding:20px 0;align-items:stretch;gap:15px}.navlinks.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:40px}.hero h1{max-width:580px}.hero .intro{max-width:550px}.food{height:440px}.hero-visual{max-width:540px;width:100%;margin:auto}.image-tag{left:10px;bottom:35px}.ribbon .wrap{flex-wrap:wrap;justify-content:center;font-size:12px;gap:14px 22px}.section{padding-block:60px}.about-grid{grid-template-columns:1fr;gap:35px}.portrait-placeholder{height:300px}.cards{grid-template-columns:1fr;gap:18px}.benefit h3{margin-top:8px}.program-grid{grid-template-columns:1fr}.section-top{align-items:start;flex-direction:column}.cta .wrap{flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.bottom{flex-direction:column;gap:8px}.page-title{padding-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(min-width:801px){.hero-copy{animation:enter .65s ease-out}.hero-visual{animation:enter .9s ease-out}@keyframes enter{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
.featured-program{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.featured-program h2{margin-top:28px}.program-action{text-align:center}.program .price{font:48px/1.2 var(--serif);color:inherit;margin:0 0 22px}.program .checkout-note{font-size:12px;margin:12px 0 0}.challenge-details{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:65px 0}.challenge-details h2{font-size:36px}.challenge-list{margin:0;padding-left:22px;color:var(--muted)}.challenge-list li{padding:0 0 17px 7px}.challenge-end{text-align:center;border-top:1px solid var(--line);padding-top:45px}.challenge-end p{color:var(--muted);margin-bottom:25px}@media(max-width:800px){.featured-program,.challenge-details{grid-template-columns:1fr;gap:30px}.program-action{text-align:left}.featured-program{padding:28px}.challenge-details{margin:45px 0}.featured-program .btn{white-space:normal;text-align:center}}
.portrait{display:block;width:100%;height:460px;object-fit:cover;object-position:center 48%;border-radius:3px 100px 3px 3px}@media(max-width:800px){.portrait{height:auto;max-height:580px;aspect-ratio:4/5;object-fit:cover;object-position:center 48%}}

/* Logótipo dos programas: texto à esquerda, imagem à direita. */
.page-title.program-heading {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  gap: 24px;
  align-items: center;
}
.program-heading > div { grid-column: 1; grid-row: 1; }
.program-heading > .challenge-logo {
  display: block;
  grid-column: 2;
  grid-row: 1;
  width: 56px;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
}
@media (max-width: 800px) {
  .page-title.program-heading {
    grid-template-columns: minmax(0, 1fr) 90px;
    gap: 14px;
  }
  .program-heading > .challenge-logo { width: 90px; }
  .program-heading h1 { font-size: clamp(30px, 8vw, 43px); letter-spacing: -1px; }
}

/* Ajuste exclusivo para computador. */
@media (min-width: 801px) {
  .page-title.program-heading {
    grid-template-columns: minmax(0, 1fr) 190px;
    padding-right: 40px;
  }
  .program-heading > .challenge-logo { width: 190px; transform: translateY(-12px); }
}

/* No telemóvel, alinhar o logótipo com o título, não com o bloco completo. */
@media (max-width: 800px) {
  .program-heading > div { display: contents; }
  .program-heading .eyebrow { grid-column: 1 / -1; grid-row: 1; margin: 0; }
  .program-heading h1 { grid-column: 1; grid-row: 2; margin: 0; }
  .program-heading > .challenge-logo { grid-column: 2; grid-row: 2; align-self: center; }
  .program-heading .body-copy { grid-column: 1 / -1; grid-row: 3; margin: 10px 0 0; }
}

.details-list article p + p { margin-top: 18px; }
.about-grid:has(.details-list) { align-items: start; }


/* Formas suaves e movimento discreto. */
.btn, .menu { border-radius: 999px; }
.btn { box-shadow: 0 5px 15px #253b310c; transition: background .25s ease, transform .25s ease, box-shadow .25s ease; }
.btn.light:hover { background: #e9eddf; color: var(--ink); }
.food { border-radius: 46% 46% 22% 8%; }
.portrait { border-radius: 100px 28px 100px 28px; }
.image-tag { border-radius: 24px 24px 24px 6px; }
.soft { border-radius: 72px 16px 72px 16px; }
.benefit { background: #faf8f3b3; border: 1px solid #d7dfcd; border-radius: 32px 32px 12px 32px; padding: 30px; }
.benefit:nth-child(2) { border-radius: 12px 32px 32px 32px; }
.number { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; background: #e0e7d3; border-radius: 50%; color: #53653e; }
.program { border-radius: 36px 12px 36px 36px; box-shadow: 0 12px 32px #253b3108; }
.program.dark { background: linear-gradient(120deg, #344a36, #425a3c); }
.cta { border-radius: 64px 64px 0 0; background: linear-gradient(120deg, #344a36, #425a3c); }
.details-list { gap: 20px; }
.details-list article { padding: 28px 32px; border: 1px solid var(--line); border-radius: 28px; background: #f0f2e9; }
.details-list article:nth-child(2) { background: #f4f0e7; }
.challenge-list { list-style: none; padding: 0; }
.challenge-list li { padding: 16px 22px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 22px 22px 22px 6px; background: #eef1e7; }
.challenge-end { border: 0; border-radius: 40px; background: var(--soft); padding: 40px 24px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .benefit, .program { transition: transform .3s ease, box-shadow .3s ease; }
  .benefit:hover, .program:hover { transform: translateY(-4px); box-shadow: 0 16px 35px #253b3110; }
  .btn:hover { box-shadow: 0 8px 20px #253b3120; }
}
@media (max-width: 800px) {
  .soft { border-radius: 36px 12px 36px 12px; }
  .portrait { border-radius: 64px 20px 64px 20px; }
  .program { border-radius: 28px 10px 28px 28px; }
  .benefit, .details-list article { padding: 24px; }
  .cta { border-radius: 36px 36px 0 0; }
  .challenge-end { border-radius: 28px; }
}

.faq-section{max-width:860px;margin:65px auto}.faq-items{display:grid;gap:12px}.faq-items details{padding:0;border:1px solid var(--line);border-radius:22px;background:#f0f2e9;overflow:hidden}.faq-items summary{padding:22px 26px;line-height:1.5}.faq-items details[open]{background:#f5f6ef}.faq-items details p{margin:0;padding:0 26px 24px}.faq-items summary::marker{color:var(--olive)}@media(max-width:800px){.faq-section{margin:45px auto}.faq-items summary{padding:20px}.faq-items details p{padding:0 20px 20px}}


.bonus-section { margin: 65px 0 40px; }
.bonus-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 32px; }
.bonus-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--line); border-radius: 32px 12px 32px 32px; background: #eef1e7; }
.bonus-card:nth-child(2) { background: #f3f0e7; border-radius: 12px 32px 32px 32px; }
.bonus-card:nth-child(3) { background: #e7ede3; }
.bonus-card h3 { font: 30px/1.15 var(--serif); margin: 24px 0 18px; }
.bonus-card p { font-size: 15px; color: var(--muted); margin: 0 0 20px; }
.bonus-card .bonus-lead { color: var(--ink); font-weight: 500; }
.bonus-value { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; width: 100%; border-top: 1px solid #ced8c4; padding-top: 20px; margin-top: auto; font-size: 14px; }
.bonus-value strong { color: var(--olive); }
.offer-summary { display: grid; grid-template-columns: 1fr 1.2fr; gap: 55px; align-items: center; margin-top: 30px; padding: 40px; border: 1px solid var(--line); border-radius: 32px; background: #f0f2e9; }
.offer-summary h3 { font: 36px/1.2 var(--serif); margin: 0 0 20px; }
.saving-badge { display: inline-block; background: var(--olive); color: white; padding: 10px 20px; border-radius: 999px; font-weight: 600; }
.offer-breakdown { margin: 0; }
.offer-breakdown>div { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.offer-breakdown dd { margin: 0; white-space: nowrap; }
.offer-breakdown .offer-total { border-bottom: 0; padding-top: 20px; }
.offer-breakdown .offer-price { border-bottom: 0; font-weight: 600; font-size: 16px; }
.offer-price dd { font: 38px/1.2 var(--serif); color: var(--olive); }
@media(max-width:800px) { .bonus-section { margin-top:45px; }.bonus-grid,.offer-summary { grid-template-columns:1fr; }.bonus-card,.offer-summary { padding:24px; }.offer-summary { gap:28px; }.bonus-card h3 { font-size:28px; } }


/* Tipografia da marca. */
.brand { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 600; letter-spacing: -.6px; }
.brand small { font-family: 'DM Sans', Arial, sans-serif; }
@media (max-width:800px) { .brand { font-size:30px; } }

/* Nome da marca em Alex Brush. */
.brand { font-family: 'Alex Brush', cursive; font-size: 38px; font-weight: 400; letter-spacing: 0; line-height: 1.1; }
@media (max-width:800px) { .brand { font-size:34px; } }

