@font-face{font-family:MesaSerif;src:url("assets/serif.woff") format("woff");font-style:normal;font-display:swap}
@font-face{font-family:MesaSerif;src:url("assets/serif-italico.woff") format("woff");font-style:italic;font-display:swap}
@font-face{font-family:MesaSans;src:url("assets/sans.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:MesaSans;src:url("assets/sans-negrito.woff") format("woff");font-weight:700;font-display:swap}

:root{
  --pinheiro:#153a2e;
  --escuro:#103025;
  --creme:#faf5ea;
  --papel:#fffcf6;
  --linha:#dcd1bd;
  --texto:#26372d;
  --suave:#526359;
  --ouro:#dfbd82;
  --bronze:#775623;
  --vinho:#541821;
  --serif:MesaSerif,Georgia,serif;
  --sans:MesaSans,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.25rem}
body{margin:0;background:var(--creme);color:var(--texto);font-family:var(--sans);font-size:1rem;line-height:1.62}
figure,h1,h2,h3,p{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid #b77127;outline-offset:4px}
.skip{position:absolute;top:8px;left:8px;padding:8px 15px;transform:translateY(-150%);background:var(--papel);z-index:10}
.skip:focus{transform:none}
.shell{width:min(1170px,calc(100% - 64px));margin-inline:auto}
.block{padding-block:clamp(3.5rem,7vw,6.4rem)}
.header{background:var(--creme);border-bottom:1px solid #c9b893}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--pinheiro);line-height:1.09}
.brand span{display:grid;gap:3px}
.brand small{font-size:.57rem;font-weight:700;letter-spacing:.18em}
.brand strong{font:1.35rem/1 var(--serif)}
.nav nav{display:flex;align-items:center;gap:30px;font-size:.88rem}
.nav nav a{text-decoration:none}
.nav nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:.28em}
.nav-cta{display:inline-flex;gap:13px;align-items:center;font-size:.88rem;font-weight:700;text-decoration:none;border:1px solid var(--pinheiro);padding:9px 15px;border-radius:3px}
.nav-cta:hover{background:#e9edde}
.hero{
  color:var(--creme);
  background:radial-gradient(ellipse at 87% 32%,#2a513e 0,transparent 53%),var(--escuro);
  padding:clamp(3.2rem,7vw,6.2rem) 0 clamp(2.3rem,5vw,4.2rem);
}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(2.1rem,4.2vw,4.5rem)}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--bronze);font-size:.69rem;font-weight:700;letter-spacing:.17em;line-height:1.5}
.eyebrow span{display:inline-block;width:24px;height:1px;background:currentColor;flex:none}
.hero .eyebrow,.offer .eyebrow{color:var(--ouro)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}
.hero h1{font-size:clamp(3.45rem,6.4vw,6.05rem);letter-spacing:-.055em;margin:17px 0 18px}
.hero-deck{font:italic clamp(1.25rem,2.15vw,1.66rem)/1.31 var(--serif);max-width:28rem;color:#fff3db}
.hero-summary{font-size:clamp(.94rem,1.5vw,1.08rem);color:#e2eadf;max-width:31rem;margin-top:18px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px 20px;margin-top:27px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:3px;min-height:49px;padding:12px 19px;font-size:.93rem;font-weight:700;text-decoration:none;text-align:center;transition:background-color .18s}
.gold{color:#142a20;background:var(--ouro)}
.gold:hover{background:#edcc98}
.pine{background:var(--pinheiro);color:var(--papel)}
.pine:hover{background:#24523f}
.text-link{color:var(--pinheiro);font-size:.88rem;font-weight:700;text-underline-offset:.24em;white-space:normal}
.text-link.light{color:var(--creme)}
.hero-note{color:#d4e0d3;font-size:.75rem;margin-top:18px}
.hero-note span{color:var(--ouro);padding-inline:.22rem}
.hero-image img{width:100%;border:1px solid #bd9b65;box-shadow:0 18px 42px #061c1263;border-radius:3px}
.hero-image figcaption{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:11px;color:#e9ce9c;font-size:.63rem;letter-spacing:.16em}
.hero-image figcaption span{width:16px;height:1px;background:currentColor}
.counts{background:#eee5d3;border-bottom:1px solid var(--linha)}
.counts-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:23px}
.counts-grid div{display:grid;gap:6px;padding:0 16px;text-align:center;border-right:1px solid #cfc2a8}
.counts-grid div:last-child{border-right:0}
.counts strong{font:2.23rem/1 var(--serif);color:var(--pinheiro)}
.counts span{font-size:.82rem;color:var(--suave)}
.section-heading .eyebrow{margin-bottom:11px}
.section-heading h2,.offer h2{font-size:clamp(2.5rem,4.7vw,4.2rem);letter-spacing:-.04em;color:var(--pinheiro)}
.section-heading>p:not(.eyebrow){max-width:39rem;color:var(--suave);margin-top:15px}
.centered{text-align:center}
.centered .eyebrow{justify-content:center}
.centered>p{margin-inline:auto}
.steps{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,8vw,6.7rem);align-items:start}
.step-list{padding:0;margin:0;list-style:none}
.step-list li{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:start;border-top:1px solid var(--linha);padding:16px 0 17px}
.step-list li:last-child{border-bottom:1px solid var(--linha)}
.number{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbb17e;border-radius:50%;color:var(--bronze);font:1.14rem/1 var(--serif)}
.step-list h3{font:700 1.01rem/1.4 var(--sans);color:var(--pinheiro);margin:0 0 3px}
.step-list p{font-size:.93rem;color:var(--suave)}
.menu-section{background:#eee8da;border-block:1px solid var(--linha)}
.menus,.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.menu-card{background:var(--papel);border:1px solid var(--linha)}
.menu-card img{width:100%;aspect-ratio:52/35;object-fit:cover}
.menu-copy{padding:21px 20px 23px}
.card-label{font-size:.66rem;line-height:1.4;letter-spacing:.13em;font-weight:700;color:var(--bronze)}
.menu-copy h3{font-size:2.15rem;color:var(--pinheiro);margin:7px 0 12px}
.menu-copy ul{list-style:none;margin:0;padding:0;color:var(--suave);font-size:.86rem}
.menu-copy li{padding:6px 0;border-top:1px solid #e9e0d0}
.page-preview{background:#eee5d3;border:1px solid var(--linha);padding:14px 14px 0}
.page-preview>a,.planner>a{display:block}
.page-preview img{width:100%;aspect-ratio:4/7;object-fit:contain;border:1px solid #e1d4bf}
.page-preview figcaption{display:grid;gap:2px;padding:11px 1px 13px}
.page-preview strong{font-size:.94rem;color:var(--pinheiro)}
.page-preview figcaption span{font-size:.79rem;color:var(--suave)}
.planner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:26px;margin-top:28px;padding:22px 26px;border:1px solid var(--linha);background:var(--papel)}
.planner h3{color:var(--pinheiro);font-size:clamp(1.8rem,3.1vw,2.7rem);margin:10px 0}
.planner p:not(.eyebrow){color:var(--suave);font-size:.93rem}
.planner img{width:100%;height:auto;max-height:275px;object-fit:cover;object-position:center top;border:1px solid var(--linha)}
.dessert{background:#efe0d9;border-block:1px solid #ddc3b6}
.dessert-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(1.9rem,5vw,4.4rem);align-items:center}
.dessert-image img{width:100%;border:1px solid #c09e89;border-radius:3px;box-shadow:0 12px 30px #4b231f20}
.dessert .eyebrow,.dessert h2,.dessert .text-link,.dessert-price strong{color:var(--vinho)}
.dessert .dessert-deck{font:italic 1.5rem/1.3 var(--serif);color:var(--vinho)!important}
.dessert .text-link{display:inline-block;margin-top:16px}
.dessert-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding-top:13px;border-top:1px solid #d6b7a8;margin-top:18px!important}
.dessert-price strong{font:1.95rem/1.15 var(--serif)}
.dessert-price span{font-size:.8rem}
.offer{background:var(--escuro);color:var(--creme)}
.offer-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr);align-items:center;gap:clamp(2rem,6vw,6rem)}
.offer h2{color:var(--creme);margin:10px 0 25px}
.included{list-style:none;margin:0;padding:0;font-size:.97rem}
.included li{padding:10px 0 10px 19px;border-top:1px solid #436453;position:relative}
.included li:before{content:"";position:absolute;left:0;top:1.23rem;width:5px;height:5px;background:var(--ouro);transform:rotate(45deg)}
.included li:last-child{border-bottom:1px solid #436453}
.price-card{background:var(--creme);color:var(--texto);border:1px solid var(--ouro);padding:clamp(22px,4vw,36px)}
.price-card .price{color:var(--pinheiro);font:1.62rem/1 var(--serif);margin:11px 0 6px}
.price strong{font:clamp(3.5rem,7vw,5rem)/1 var(--serif);letter-spacing:-.05em}
.price-card>p:not(.card-label,.price){font-size:.9rem}
.price-card .button{width:100%;margin:19px 0 10px}
.price-card [aria-disabled="true"]{background:#e0e9df;color:#35574b;cursor:default}
.status{text-align:center;color:var(--suave);font-size:.8rem!important}
.faq{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem)}
.questions details{border-top:1px solid var(--linha);padding:12px 0}
.questions details:last-child{border-bottom:1px solid var(--linha)}
summary{cursor:pointer;font-weight:700;color:var(--pinheiro);padding:5px 0}
.questions p{color:var(--suave);font-size:.92rem;padding:6px 0 6px 17px}
.footer{background:#eee5d3;border-top:1px solid var(--linha);padding:25px 0}
.footer .shell{display:flex;align-items:center;justify-content:space-between;gap:14px}
.footer p{font-size:.75rem;color:var(--suave)}
.mobile-cta{display:none}

@media(max-width:880px){
  .hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}
  .hero h1{font-size:clamp(3.28rem,7.7vw,4.95rem)}
  .shell{width:calc(100% - 44px)}
  .menu-copy{padding:18px 13px}
  .menu-copy h3{font-size:1.92rem}
}
@media(max-width:690px){
  .shell{width:calc(100% - 36px)}
  .nav{height:63px;gap:12px}
  .nav nav{display:none}
  .brand strong{font-size:1.2rem}
  .nav-cta{min-height:42px;padding:8px 11px;font-size:.8rem}
  .hero{padding:37px 0 29px}
  .hero-layout,.steps,.dessert-layout,.offer-layout,.faq{grid-template-columns:1fr}
  .hero h1{font-size:clamp(3.35rem,12vw,5.1rem);margin-top:11px}
  .hero-deck{font-size:1.32rem}
  .hero-summary{font-size:.94rem;margin-top:12px}
  .hero-actions{margin-top:20px}
  .hero-actions .button{padding-inline:14px;font-size:.87rem}
  .hero-note{margin-top:13px}
  .hero-image{margin-top:0}
  .counts-grid{grid-template-columns:repeat(2,1fr);row-gap:19px;padding-block:16px}
  .counts-grid div:nth-child(even){border-right:0}
  .counts strong{font-size:1.92rem}
  .counts span{font-size:.76rem}
  .menus{grid-template-columns:1fr;gap:17px}
  .menu-card{display:grid;grid-template-columns:32% 68%}
  .menu-card img{height:100%;aspect-ratio:auto}
  .menu-copy{padding:15px 12px}
  .menu-copy h3{font-size:1.83rem}
  .menu-copy li{padding:4px 0;font-size:.78rem}
  .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .page-preview{padding:7px 7px 0}
  .page-preview figcaption strong{font-size:.8rem;line-height:1.35}
  .page-preview figcaption span{font-size:.72rem;line-height:1.35}
  .planner{grid-template-columns:1fr;padding:18px;gap:15px}
  .planner img{max-height:245px}
  .dessert .section-heading{grid-row:1}
  .offer-layout,.faq{gap:24px}
  .footer{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
  .footer .shell{align-items:flex-start;flex-direction:column}
  .mobile-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;bottom:0;left:0;right:0;z-index:5;background:var(--papel);border-top:1px solid var(--linha);padding:8px max(18px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));box-shadow:0 -6px 22px #21332815}
  .mobile-cta p{display:grid;line-height:1.2}
  .mobile-cta strong{font-size:1.13rem;color:var(--pinheiro)}
  .mobile-cta p span{font-size:.69rem;color:var(--suave)}
  .mobile-cta .button{min-height:43px;padding:8px 15px}
}
@media(max-width:365px){
  .hero h1{font-size:clamp(2.55rem,12.4vw,3.1rem)}
  .brand{gap:8px;flex:none}
  .brand img{width:26px;height:26px}
  .brand strong{font-size:1rem;white-space:nowrap}
  .nav-cta{padding-inline:9px;white-space:nowrap}
  .nav-cta span{display:none}
  .hero-actions{gap:8px 14px}
  .menus .menu-card{grid-template-columns:28% 72%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button{transition:none}
}
