/* Proporções e hierarquia inspiradas na Oi Flor, adaptadas à A Roseiral. */
:root{--serif:'Cormorant Garamond',Georgia,serif;--script:'Pinyon Script','Segoe Script',cursive;--corpo:'DM Sans',system-ui,sans-serif}
html{scroll-padding-top:calc(var(--u)*105)}
body{font-family:var(--corpo);-webkit-font-smoothing:antialiased}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aviso{height:calc(var(--u)*34);font-size:calc(var(--u)*12);letter-spacing:0;text-transform:none}
.topo,.topo.rolou{height:calc(var(--u)*88);padding:0 calc(var(--u)*55);gap:calc(var(--u)*26);background:#faf7f0ed;backdrop-filter:blur(calc(var(--u)*18))}
.marca{gap:calc(var(--u)*8)}
.marca__icone{font-size:calc(var(--u)*35)}
.marca strong{font:600 calc(var(--u)*45)/.84 var(--serif);letter-spacing:-.055em;white-space:nowrap}
.marca small{font-size:calc(var(--u)*7);letter-spacing:.24em;margin-top:calc(var(--u)*4)}
.nav{flex:1;justify-content:center;gap:calc(var(--u)*24)}
.nav a{font-size:calc(var(--u)*13);font-weight:600}
.topo__acoes{gap:calc(var(--u)*15)}
.topo__buscar{width:calc(var(--u)*42);height:calc(var(--u)*42);display:grid;place-items:center;border:2px solid #ede7dd;border-radius:50%;color:var(--folha-escura);font-size:calc(var(--u)*19)}
.sacola{position:relative;width:calc(var(--u)*38);height:calc(var(--u)*42);font-size:0;display:grid;place-items:center;color:var(--folha-escura)}
.sacola svg{font-size:calc(var(--u)*22)}
.sacola span{position:absolute;top:calc(var(--u)*3);right:calc(var(--u)*-2);width:calc(var(--u)*17);height:calc(var(--u)*17);font-size:calc(var(--u)*10);margin:0;background:#9c3f55;color:white}
.botao,.botao--nav,.topo.rolou .botao--nav{height:calc(var(--u)*50);padding:0 calc(var(--u)*23);gap:calc(var(--u)*10);border-radius:calc(var(--u)*999);font-size:calc(var(--u)*14);line-height:1.15;letter-spacing:0}
.botao svg{font-size:calc(var(--u)*19)}
.botao--nav,.topo.rolou .botao--nav{background:#168544;color:white;border-color:#168544;white-space:nowrap}
.botao--vinho{background:#168544;color:white;border-color:#168544}
.botao--claro{background:#faf7f0;color:var(--folha-escura);border-color:var(--folha-escura)}
.hero{height:calc(var(--u)*654)}
.hero__texto{width:calc(var(--u)*735);padding:calc(var(--u)*88) 0 0 calc(var(--u)*92)}
.hero .eyebrow{font-size:calc(var(--u)*10);letter-spacing:.19em;gap:calc(var(--u)*18)}
.hero .eyebrow span{font-size:calc(var(--u)*22)}
.hero h1{font:700 calc(var(--u)*80)/1.04 var(--serif);letter-spacing:-.035em;max-width:calc(var(--u)*675);margin:calc(var(--u)*25) 0 calc(var(--u)*18)}
.hero h1 em{font:inherit;font-size:.81em;color:#9e3d56;white-space:nowrap}
.hero__intro{font-size:calc(var(--u)*18);line-height:1.5;max-width:calc(var(--u)*535);margin-bottom:calc(var(--u)*24)}
.hero__acoes{gap:calc(var(--u)*12)}
.hero__acoes .botao{height:calc(var(--u)*55);font-size:calc(var(--u)*14);padding:0 calc(var(--u)*25);gap:calc(var(--u)*11);box-shadow:none}
.hero__acoes .botao--claro{background:#faf7f0d9;border-color:var(--folha-escura)}
.hero__acoes .botao--vinho{background:#117b40;border-color:#117b40}
.hero__acoes .botao span:last-child{font-size:calc(var(--u)*22)}
.hero__acoes .cta__icone{font-size:calc(var(--u)*20);color:var(--vinho)}
.hero__atalho{font-size:calc(var(--u)*13);margin-top:calc(var(--u)*17)}
.hero__polaroid{left:50%;top:auto;bottom:calc(var(--u)*150);width:calc(var(--u)*140);padding:calc(var(--u)*9);border-radius:calc(var(--u)*12)}
.hero__polaroid img{height:calc(var(--u)*120);border-radius:calc(var(--u)*5)}
.hero__polaroid span{font-size:calc(var(--u)*10)}
.hero__polaroid em{font-size:calc(var(--u)*20)}
.hero__credito{right:calc(var(--u)*45);bottom:calc(var(--u)*141);font-size:calc(var(--u)*10)}
.beneficios{height:calc(var(--u)*93);margin:calc(var(--u)*-119) calc(var(--u)*55) calc(var(--u)*26);padding:calc(var(--u)*15) calc(var(--u)*12);border-radius:calc(var(--u)*23);display:grid;align-items:center;box-shadow:0 calc(var(--u)*8) calc(var(--u)*35) #5c483618}
.beneficios>div,.beneficios>div:first-child{display:grid;grid-template-columns:calc(var(--u)*56) 1fr;grid-template-rows:auto auto;column-gap:calc(var(--u)*14);align-items:center;padding:0 calc(var(--u)*20);border-left:1px solid #354e3b25}
.beneficios>div:first-child{border-left:0}
.beneficios .beneficio-icone{grid-row:1/3;width:calc(var(--u)*56);height:calc(var(--u)*56);display:grid;place-items:center;border-radius:50%;background:#eee6e0;color:#a95368;font:400 calc(var(--u)*30)/1 var(--serif)}
.beneficios strong{font-size:calc(var(--u)*14);align-self:end}
.beneficios small{font-size:calc(var(--u)*12);align-self:start}
.secao{padding:calc(var(--u)*65) calc(var(--u)*80)}
.colecoes{padding-top:calc(var(--u)*48);padding-bottom:calc(var(--u)*60)}
.cabeca{gap:calc(var(--u)*25);margin-bottom:calc(var(--u)*34)}
.cabeca h2,.editorial h2,.historia h2,.convite h2,.visite h2,.ocasioes h2{font:600 calc(var(--u)*57)/1.02 var(--serif);letter-spacing:-.035em;color:var(--folha-escura)}
.cabeca h2 em,.editorial h2 em,.historia h2 em,.convite h2 em,.visite h2 em,.ocasioes h2 em{font-family:var(--script);font-size:1.17em;font-weight:400;font-style:normal;line-height:.85;letter-spacing:0;color:#a95368}
.cabeca__acoes{display:flex;align-items:center;gap:calc(var(--u)*21);padding-bottom:calc(var(--u)*6)}
.cabeca__acoes a{font-size:calc(var(--u)*14);font-weight:700;white-space:nowrap;color:var(--folha-escura);border-bottom:1px solid #a95368;padding-bottom:calc(var(--u)*3)}
.colecoes__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*20)}
.colecao{height:auto;display:flex;flex-direction:column;border-radius:calc(var(--u)*19);background:#e9e4db}
.colecao img{height:auto;aspect-ratio:1.15;object-fit:cover}
.colecao:after{display:none}
.colecao span{position:static;display:flex;margin:calc(var(--u)*10);padding:calc(var(--u)*15);min-height:calc(var(--u)*92);background:#fffdf9;color:var(--folha-escura);border-radius:calc(var(--u)*13)}
.colecao small{font-size:calc(var(--u)*9);color:#a95368}
.colecao strong{font:600 calc(var(--u)*28)/1 var(--serif);margin:calc(var(--u)*7) 0}
.colecao b{font-size:calc(var(--u)*12)}
.ocasioes{padding-top:calc(var(--u)*55);padding-bottom:calc(var(--u)*55);background:var(--creme)}
.ocasioes h2{margin:calc(var(--u)*13) 0 calc(var(--u)*13)}
.ocasioes__lista{display:grid;grid-template-columns:repeat(5,1fr);max-width:calc(var(--u)*850);gap:calc(var(--u)*18);margin:calc(var(--u)*34) auto 0}
.ocasioes__lista a{min-height:0;padding:0;border:0;background:none;align-items:center;justify-content:flex-start;text-align:center;gap:calc(var(--u)*12);font:600 calc(var(--u)*14)/1.2 var(--corpo)}
.ocasioes__lista a:hover{transform:none;background:none;color:var(--vinho)}
.ocasioes__lista .ocasiao__icone{width:calc(var(--u)*82);height:calc(var(--u)*82);display:grid;place-items:center;border-radius:50%;background:#eee7de;color:var(--vinho);font:400 calc(var(--u)*41)/1 var(--serif);transition:background .2s,transform .2s}
.ocasioes__lista a:hover .ocasiao__icone{background:#e8d2cf;transform:translateY(calc(var(--u)*-3))}
.editorial{background:#e9ecdf}
.editorial__conteudo{background:#e9ecdf}
.editorial p:not(.eyebrow){font-size:calc(var(--u)*16);line-height:1.7;color:#5a675c}
.editorial .botao,.historia .botao,.convite .botao,.visite .botao{height:calc(var(--u)*51);font-size:calc(var(--u)*14);border-radius:calc(var(--u)*999)}
.editorial .botao{margin-top:calc(var(--u)*14)}
.editorial__conteudo>small{font-size:calc(var(--u)*11)}
.catalogo{background:#faf7f0}
.cabeca--catalogo{display:block;max-width:calc(var(--u)*680)}
.cabeca--catalogo>p{max-width:calc(var(--u)*600);font-size:calc(var(--u)*15);margin-top:calc(var(--u)*16)}
.catalogo__toolbar{display:flex;flex-direction:column;align-items:stretch;border:0;padding:0;gap:calc(var(--u)*18)}
.catalogo__busca{order:-1;max-width:calc(var(--u)*500)}
.busca input,.ordem select{height:calc(var(--u)*48);border-radius:calc(var(--u)*999);font-size:calc(var(--u)*14);background:#fffdf9}
.ordem select{border-radius:calc(var(--u)*12)}
.filtros{gap:calc(var(--u)*9)}
.filtros button{font-size:calc(var(--u)*13);padding:calc(var(--u)*10) calc(var(--u)*16);color:var(--folha-escura);border-color:#d7d7cf}
.filtros button.ativo,.filtros button:hover{background:var(--folha-escura);border-color:var(--folha-escura)}
.produto{border-radius:calc(var(--u)*18);overflow:hidden;border-color:#e3e5dc;background:#fffdf9}
.produto__foto{height:auto;aspect-ratio:1.1;background:#ede9e1}
.produto__conteudo{padding:calc(var(--u)*18)}
.produto__conteudo h3{font:600 calc(var(--u)*23)/1.14 var(--serif);color:var(--folha-escura);min-height:calc(var(--u)*50)}
.produto__conteudo p{font-size:calc(var(--u)*12);line-height:1.55;min-height:calc(var(--u)*56);-webkit-line-clamp:3}
.produto__rodape strong{font:600 calc(var(--u)*24)/1.1 var(--serif);color:var(--folha-escura)}
.produto__rodape strong.sob-consulta{font-size:calc(var(--u)*19)}
.produto__rodape button{border-radius:50%;background:#e1e8d7;color:var(--folha-escura);border:0;width:calc(var(--u)*39);height:calc(var(--u)*39)}
.produto__link{display:flex;align-items:center;justify-content:center;min-height:calc(var(--u)*45);margin-top:calc(var(--u)*16);padding:0 calc(var(--u)*12);border:0;border-radius:calc(var(--u)*999);background:#168544;color:white;font-size:calc(var(--u)*13);text-align:center}
.produto__link:hover{background:#106c38}
.ver-mais{border-radius:calc(var(--u)*999);font-size:calc(var(--u)*14)}
.historia{background:#e1e8d7}
.historia__texto p:not(.eyebrow){font-size:calc(var(--u)*16)}
.convite{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:calc(var(--u)*560);padding:calc(var(--u)*55) calc(var(--u)*85);background:#ede9e1;color:var(--folha-escura)}
.convite:before{content:"";display:block;grid-column:1;grid-row:1;align-self:stretch;border-radius:calc(var(--u)*20);background:url('img/instagram-bouquet.jpg') center/cover}
.convite>div{grid-column:2;grid-row:1;max-width:none;padding:calc(var(--u)*45) calc(var(--u)*65)}
.convite .eyebrow{color:#9a5060}
.convite h2{color:var(--folha-escura)}
.convite p:not(.eyebrow){font-size:calc(var(--u)*16);color:#617064}
.convite .botao{background:#168544;color:white;border-color:#168544}
.faq summary{font:600 calc(var(--u)*20)/1.35 var(--corpo)}
.faq details p{font-size:calc(var(--u)*15)}
.visite{background:#354e3b}
.visite h2{color:#faf7f0}
.visite h2 em{color:#e9c6c5}
.visite__conteudo>p:not(.eyebrow){font-size:calc(var(--u)*16)}
@media(max-width:999px){
 .topo,.topo.rolou{padding:0 calc(var(--u)*30)}
 .nav{gap:calc(var(--u)*14)}.nav a{font-size:calc(var(--u)*11)}
 .hero{height:calc(var(--u)*560)}.hero__texto{width:calc(var(--u)*500);padding:calc(var(--u)*75) 0 0 calc(var(--u)*45)}
 .hero h1{font-size:calc(var(--u)*61)}.hero__intro{font-size:calc(var(--u)*15)}
 .hero__polaroid{left:53%;bottom:calc(var(--u)*120)}
 .beneficios{margin-left:calc(var(--u)*30);margin-right:calc(var(--u)*30)}
 .beneficios>div,.beneficios>div:first-child{padding:0 calc(var(--u)*8);column-gap:calc(var(--u)*7)}
 .beneficios .beneficio-icone{width:calc(var(--u)*38);height:calc(var(--u)*38);font-size:calc(var(--u)*23)}
 .beneficios strong{font-size:calc(var(--u)*11)}.beneficios small{font-size:calc(var(--u)*9)}
 .secao{padding-left:calc(var(--u)*50);padding-right:calc(var(--u)*50)}
 .convite{padding:calc(var(--u)*45)}.convite>div{padding:calc(var(--u)*30)}
}
@media(max-width:639px){
 :root{--u:calc(100vw / 390)}
 .aviso{height:calc(var(--u)*38);font-size:calc(var(--u)*12)}
 .topo,.topo.rolou{position:sticky;top:0;display:grid;grid-template-columns:calc(var(--u)*42) 1fr calc(var(--u)*42);height:calc(var(--u)*80);padding:0 calc(var(--u)*18);gap:calc(var(--u)*8)}
 .topo .marca{grid-column:2;grid-row:1;justify-self:center;gap:calc(var(--u)*6)}
 .topo .marca__icone{font-size:calc(var(--u)*28)}
 .topo .marca strong{font-size:calc(var(--u)*31)}
 .topo .marca small{font-size:calc(var(--u)*6)}
 .topo__acoes{display:contents}
 .topo__buscar,.topo__acoes .botao--nav{display:none}
 .topo .menu{grid-column:1;grid-row:1;width:calc(var(--u)*42);height:calc(var(--u)*42);justify-self:start;color:var(--folha-escura)}
 .topo .sacola{grid-column:3;grid-row:1;width:calc(var(--u)*42);height:calc(var(--u)*42);justify-self:end}
 .topo .sacola svg{font-size:calc(var(--u)*23)}
 .topo .nav{top:calc(var(--u)*80);color:var(--folha-escura);padding:calc(var(--u)*18) calc(var(--u)*25)}
 .topo .nav a{font-size:calc(var(--u)*17);font-weight:500;padding:calc(var(--u)*11) 0}
 .hero{height:auto;padding:calc(var(--u)*6) calc(var(--u)*6) calc(var(--u)*16);background:#fcf8f1}
 .hero__fundo{height:calc(var(--u)*230);border-radius:calc(var(--u)*25) calc(var(--u)*25) 0 0;overflow:hidden;order:1}
 .hero__fundo img{object-position:center 40%}
 .hero__texto{order:2;width:100%;height:auto;min-height:0;padding:calc(var(--u)*25) calc(var(--u)*23) calc(var(--u)*27);border-radius:calc(var(--u)*27);background:radial-gradient(ellipse at 55% 22%,#fcece8 0,#f7e5e1 65%,#f8e9e4 100%)}
 .hero .eyebrow{font-size:calc(var(--u)*9);letter-spacing:.21em;margin:0;gap:calc(var(--u)*13)}
 .hero .eyebrow span{font-size:calc(var(--u)*22)}
 .hero h1{font-size:calc(var(--u)*48);line-height:.98;letter-spacing:-.035em;margin:calc(var(--u)*18) 0 calc(var(--u)*15)}
 .hero h1 em{display:block;font-size:1em;white-space:normal}
 .hero__intro{font-size:calc(var(--u)*14);line-height:1.6;max-width:none;margin-bottom:0}
 .hero__acoes{display:grid;grid-template-columns:1fr;gap:calc(var(--u)*9);width:100%;margin-top:calc(var(--u)*20)}
 .hero__acoes .botao{width:100%;height:calc(var(--u)*51);font-size:calc(var(--u)*16);justify-content:center;padding:0 calc(var(--u)*13);gap:calc(var(--u)*12)}
 .hero__acoes .botao--claro{background:transparent}
 .hero__acoes .botao--vinho{background:#0d8342}
 .hero__acoes .cta__icone{display:none}
 .hero__atalho{font-size:calc(var(--u)*11);margin-top:calc(var(--u)*18)}
 .hero__polaroid,.hero__credito{display:none}
 .beneficios{position:relative;margin:0;padding:calc(var(--u)*17) calc(var(--u)*13);height:auto;grid-template-columns:1fr 1fr;box-shadow:none;border-radius:0}
 .beneficios>div,.beneficios>div:first-child{grid-template-columns:calc(var(--u)*38) 1fr;column-gap:calc(var(--u)*8);padding:calc(var(--u)*10) calc(var(--u)*4);border:0;border-bottom:1px solid #e4ddd4}
 .beneficios .beneficio-icone{width:calc(var(--u)*35);height:calc(var(--u)*35);font-size:calc(var(--u)*22)}
 .beneficios strong{font-size:calc(var(--u)*10)}.beneficios small{font-size:calc(var(--u)*8)}
 .secao{padding:calc(var(--u)*48) calc(var(--u)*20)}
 .cabeca{display:block;margin-bottom:calc(var(--u)*25)}
 .cabeca h2,.editorial h2,.historia h2,.convite h2,.visite h2,.ocasioes h2{font-size:calc(var(--u)*43)}
 .cabeca__acoes{margin-top:calc(var(--u)*19);gap:calc(var(--u)*16)}
 .cabeca__acoes a{font-size:calc(var(--u)*12)}
 .colecoes{padding-top:calc(var(--u)*35)}
 .colecoes__grid{grid-template-columns:1fr;gap:calc(var(--u)*15)}
 .colecao,.colecao--grande{grid-column:auto;height:auto}
 .colecao img{aspect-ratio:1.18}
 .colecao span{min-height:calc(var(--u)*78);margin:calc(var(--u)*10);padding:calc(var(--u)*12)}
 .colecao strong{font-size:calc(var(--u)*26)}
 .ocasioes__lista{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*22) calc(var(--u)*4)}
 .ocasioes__lista a{font-size:calc(var(--u)*11)}
 .ocasioes__lista .ocasiao__icone{width:calc(var(--u)*68);height:calc(var(--u)*68);font-size:calc(var(--u)*34)}
 .editorial p:not(.eyebrow){font-size:calc(var(--u)*14)}
 .editorial .botao,.historia .botao,.convite .botao,.visite .botao{font-size:calc(var(--u)*13);min-height:calc(var(--u)*48);height:auto}
 .catalogo{padding-top:calc(var(--u)*48)}
 .cabeca--catalogo>p{font-size:calc(var(--u)*13)}
 .catalogo__toolbar{gap:calc(var(--u)*10)}
 .catalogo__busca{order:-1;max-width:none;display:grid;grid-template-columns:1fr calc(var(--u)*112);gap:calc(var(--u)*8)}
 .busca input,.ordem select{height:calc(var(--u)*46);font-size:calc(var(--u)*12)}
 .filtros{flex-wrap:nowrap;overflow-x:auto;padding:calc(var(--u)*4) 0 calc(var(--u)*13);scrollbar-width:none}
 .filtros::-webkit-scrollbar{display:none}
 .filtros button{flex:none;font-size:calc(var(--u)*12);padding:calc(var(--u)*10) calc(var(--u)*15)}
 .catalogo__contagem{font-size:calc(var(--u)*11);margin:calc(var(--u)*13) 0}
 .produtos{grid-template-columns:1fr;gap:calc(var(--u)*22)}
 .produto__foto{height:auto;aspect-ratio:1.16}
 .produto__foto small{font-size:calc(var(--u)*9)}
 .produto__conteudo{padding:calc(var(--u)*20)}
 .produto__conteudo h3{font-size:calc(var(--u)*27);min-height:0;margin-bottom:calc(var(--u)*9)}
 .produto__conteudo p{font-size:calc(var(--u)*13);min-height:0;margin-bottom:calc(var(--u)*15)}
 .produto__rodape strong{font-size:calc(var(--u)*27)}
 .produto__rodape strong.sob-consulta{font-size:calc(var(--u)*22)}
 .produto__rodape button{width:calc(var(--u)*44);height:calc(var(--u)*44);font-size:calc(var(--u)*25)}
 .produto__link{min-height:calc(var(--u)*48);font-size:calc(var(--u)*14);margin-top:calc(var(--u)*18)}
 .editorial__conteudo{padding:calc(var(--u)*48) calc(var(--u)*24)}
 .historia__texto p:not(.eyebrow){font-size:calc(var(--u)*14)}
 .convite{grid-template-columns:1fr;min-height:0;padding:calc(var(--u)*12);gap:0}
 .convite:before{grid-column:1;grid-row:1;min-height:calc(var(--u)*280);border-radius:calc(var(--u)*20) calc(var(--u)*20) 0 0}
 .convite>div{grid-column:1;grid-row:2;padding:calc(var(--u)*30) calc(var(--u)*23);background:#f7e8e4;border-radius:0 0 calc(var(--u)*20) calc(var(--u)*20)}
 .convite p:not(.eyebrow){font-size:calc(var(--u)*14)}
 .convite .botao{width:100%}
 .faq summary{font-size:calc(var(--u)*15)}.faq details p{font-size:calc(var(--u)*13)}
 .visite__conteudo>p:not(.eyebrow){font-size:calc(var(--u)*14)}
}
@media (min-width: 640px) and (max-width: 999px) {
  .topo .nav { display: none; }
  .topo .nav.aberto {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: calc(18 * var(--u)) calc(30 * var(--u));
    background: #fffaf4;
    box-shadow: 0 18px 32px #213d2b22;
  }
  .topo .nav.aberto a { padding: calc(10 * var(--u)) 0; }
  .topo__acoes .botao--nav { display: none; }
  .topo .menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: calc(5 * var(--u));
    width: calc(38 * var(--u));
    height: calc(38 * var(--u));
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--folha-escura);
  }
  .topo .menu span {
    width: calc(23 * var(--u));
    height: 1.5px;
    background: currentColor;
  }
}
