:root{--green:#364c3d;--ink:#344536;--cream:#faf7f0;--beige:#e8ddc9;--muted:#6a7062;--line:#dedecf}*{box-sizing:border-box}body{margin:0;background:#e7e8df;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #987343;outline-offset:5px}a,summary{touch-action:manipulation}.card{max-width:1120px;margin:42px auto;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 20px 70px #34453612;border:1px solid #d7d9cb;border-radius:8px;overflow:hidden}.hero{position:relative;background:var(--green);color:var(--beige);padding:32px 42px;overflow:hidden;display:flex;flex-direction:column;align-items:center}.hero:before{content:'';position:absolute;width:600px;height:600px;border:1px solid #cbbb9e19;border-radius:50%;top:200px;left:-285px;pointer-events:none}.topline{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:9px;letter-spacing:2.3px}.sparkle{font-size:25px}.logo{width:210px;height:173px;object-fit:contain;margin:45px 0 24px;animation:logo-in 1.3s ease both}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;line-height:1.6}.hero>.eyebrow{color:#d3ccb7;font-size:8px;letter-spacing:2px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.2px}h1{font-size:42px;line-height:1.16;text-align:center;margin:17px -15px}em{font-weight:400}h1 em{color:#d2d7bf}.intro{font-size:12px;line-height:1.9;text-align:center;color:#d7d9c9}.still-life{height:288px;width:100%;position:relative;margin-top:20px}.halo{position:absolute;width:245px;height:245px;border-radius:50%;background:radial-gradient(circle,#cad4b21c,transparent 70%);left:50%;top:0;transform:translateX(-50%)}.plinth{position:absolute;width:270px;height:38px;background:linear-gradient(#b2b09a,#818971);border-radius:50%;left:50%;bottom:29px;transform:translateX(-50%);box-shadow:0 13px 0 #78816b,0 26px 30px #12251940}.candle{position:absolute;width:120px;height:152px;bottom:57px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#c9b99e,#eee2c8 38%,#ded0b6 75%,#baae93);border-radius:6px 6px 24px 24px;box-shadow:13px 14px 20px #20302230}.candle:before{content:'';position:absolute;left:0;top:-9px;width:120px;height:19px;border-radius:50%;background:radial-gradient(ellipse,#c8bca4,#f0e7d5);border:1px solid #e5d8bb}.wick{position:absolute;left:59px;top:-20px;width:2px;height:13px;background:#453d2d}.flame{position:absolute;left:52px;top:-47px;width:16px;height:29px;background:linear-gradient(#fff6cd,#eab064);border-radius:70% 30% 60% 40%;box-shadow:0 0 22px #ffce7770;transform-origin:bottom;animation:flicker 3s ease-in-out infinite}.label{position:absolute;top:39px;left:24px;width:73px;padding:10px 0;text-align:center;background:#f4eedc;color:#7b735b;font-family:Georgia,serif;font-size:25px;line-height:1}.label span{display:block;font-size:15px;font-style:italic}.label small{display:block;font-family:Arial,sans-serif;font-size:5px;letter-spacing:1px;margin-top:12px}.art-note{position:absolute;right:-10px;bottom:130px;font-family:Georgia,serif;font-style:italic;font-size:12px;transform:rotate(-90deg);opacity:.65}.twig{position:absolute;height:180px;width:100px;left:calc(50% - 147px);bottom:55px;border-right:2px solid #a6af8c;transform:rotate(-29deg);border-radius:50%}.twig i{position:absolute;width:43px;height:19px;border-radius:90% 0 90% 0;background:#8e9b76;right:0;transform:rotate(15deg)}.twig i:nth-child(1){top:10px;right:-30px;transform:rotate(-40deg)}.twig i:nth-child(2){top:37px}.twig i:nth-child(3){top:70px;right:-37px;transform:rotate(-40deg)}.twig i:nth-child(4){top:93px}.twig i:nth-child(5){top:121px;right:-39px;transform:rotate(-35deg)}.twig i:nth-child(6){top:146px}.hero-footer{margin-top:auto;padding-top:26px;width:100%;border-top:1px solid #cbbb9e30;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px}.content{background:var(--cream);padding:34px 38px 24px}.welcome{display:flex;align-items:center;justify-content:space-between;color:#6d785e}.welcome>span:last-child{font-size:24px}h2{font-size:35px;line-height:1.13;margin:20px 0 25px}h2 em{color:#73805e}.cta{display:flex;gap:12px;align-items:center;background:var(--green);color:#faf7f0;padding:18px 16px;border-radius:5px;font-size:12px;line-height:1.5;box-shadow:0 6px 18px #364c3d13;transition:transform .2s,background .2s}.cta:hover{background:#465f48;transform:translateY(-2px)}.cta small{display:block;font-size:10px;color:#d1dbc9;margin-top:3px}.cta>span:last-child{margin-left:auto;font-size:19px}.chat-icon{font-size:26px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:29px 0 6px;gap:8px}.section-title h3{font-size:10px;font-weight:500;margin:0}.section-title>span{font-size:8px;letter-spacing:1px;color:var(--muted)}.products a{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;transition:padding .2s,background .2s}.products a:hover{padding-left:8px;background:#e9ecdf}.product-icon{width:34px;height:36px;display:grid;place-items:center;background:#e9ecdf;border-radius:50%;font-size:25px;color:#677957;flex-shrink:0}.products small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.arrow{margin-left:auto;font-size:18px;color:#70815f}.visit{margin-top:23px;background:#efeee4;border:1px solid #e3e2d6;border-radius:5px;padding:17px 18px}.location{display:block}.location>.eyebrow{display:flex;justify-content:space-between;font-size:8px}.location strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:400;margin:9px 0}.location>span:not(.eyebrow){font-size:10px;line-height:1.7;color:#606c5a}.location .map-link{display:block;margin-top:8px;text-decoration:underline;text-underline-offset:3px}details{border-top:1px solid #d9dbcb;margin-top:14px;padding-top:4px}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:10px}summary::-webkit-details-marker{display:none}summary span{font-size:19px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}dl{font-size:10px;margin:0}dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0}dd{margin:0;text-align:right}details p{font-size:10px;line-height:1.5;color:#606c5a}.instagram{display:flex;gap:12px;align-items:center;padding:20px 0 18px;font-size:11px}.instagram svg{width:22px;height:22px}.instagram small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.instagram>span:last-child{margin-left:auto;font-size:18px}footer{border-top:1px solid var(--line);text-align:center;font-size:8px;color:#69705e}footer p{font-size:9px;margin:17px 0 12px}footer b{margin:0 8px;font-weight:400}footer>span{letter-spacing:.2px}footer>span span{margin:0 6px;color:#9a8e70}.content{animation:rise-in .85s .15s ease both}@keyframes logo-in{from{opacity:0;transform:translateY(18px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes rise-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes flicker{0%,100%{transform:rotate(-5deg) scale(.95)}50%{transform:rotate(6deg) scale(1.05)}}@media(min-width:1024px){.hero{position:sticky;top:0}}@media(max-width:1160px) and (min-width:1024px){.card{margin:24px}.hero{padding:30px}.content{padding:30px}h1{font-size:36px}.art-note{right:-25px}}@media(max-width:1023px){body{background:var(--cream)}.card{grid-template-columns:1fr;margin:0 auto;max-width:520px;border:0;border-radius:0;box-shadow:none}.hero{padding:22px 28px 24px}.topline{font-size:8px}.logo{width:158px;height:130px;margin:24px 0 12px}.hero>.eyebrow{font-size:7px}h1{font-size:36px;margin:12px 0}.intro{font-size:11px;margin:8px 0}.still-life{height:218px;margin-top:8px;max-width:360px}.candle{height:120px;bottom:43px;width:102px}.candle:before{width:102px}.wick{left:50px}.flame{left:43px}.label{top:23px;left:17px;width:68px}.plinth{bottom:19px;width:230px;height:28px}.twig{height:158px;bottom:35px;left:calc(50% - 133px)}.art-note{right:-20px;bottom:100px;font-size:11px}.hero-footer{padding-top:18px;font-size:9px}.content{padding:28px 25px 25px}h2{font-size:33px;margin:17px 0 23px}.cta{min-height:76px}.products a{min-height:73px}.section-title{margin-top:27px}.visit{margin-top:23px}.instagram{min-height:78px}footer{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:350px){.content{padding:25px 18px}.hero{padding-left:20px;padding-right:20px}h1{font-size:31px}.cta{gap:8px;font-size:11px}.products a{font-size:12px}.eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Cartão compacto no celular: a vela dá lugar à marca no mesmo espaço. */
@keyframes candle-to-brand {
  /* 0–1.2 s: abertura original; até 7.7 s: logo; 7.7–8 s: retorno da vela. */
  0%, 5.25%, 100% { opacity: 1; transform: translateX(-50%) scale(.72); filter: blur(0); }
  15%, 96.25% { opacity: 0; transform: translateX(-50%) scale(.54); filter: blur(7px); }
}
@keyframes brand-arrives {
  /* A logo entra entre 0.75 e 1.4 s, preservando a duração de 0.65 s. */
  0%, 9.375%, 100% { opacity: 0; transform: translateY(7px) scale(.94); filter: blur(5px); }
  17.5%, 96.25% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@media (max-width:1023px) {
  .hero { height: 184px; padding: 13px 24px 15px; justify-content: flex-end; }
  .hero:before { width: 310px; height: 310px; top: -170px; left: -150px; }
  .topline { position: absolute; top: 13px; left: 24px; right: 24px; width: auto; font-size: 7px; letter-spacing: 1.7px; }
  .sparkle { font-size: 19px; }
  .hero .logo { position: absolute; top: 30px; left: calc(50% - 68px); width: 136px; height: 112px; margin: 0; animation: brand-arrives 8s ease infinite both; }
  .hero > .eyebrow { margin: 0; font-size: 7px; letter-spacing: 1.5px; }
  .hero h1, .hero .intro, .hero-footer { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .hero .still-life { position: absolute; top: 18px; left: 50%; width: 180px; height: 145px; margin: 0; pointer-events: none; transform: translateX(-50%) scale(.72); animation: candle-to-brand 8s ease infinite both; }
  .still-life .halo, .still-life .twig, .still-life .plinth, .still-life .art-note { display: none; }
  .still-life .candle { bottom: 0; }
  .content { padding: 18px 24px 20px; animation: none; }
  .welcome { display: none; }
  .content h2 { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
  .cta { min-height: 65px; padding: 12px 13px; }
  .section-title { margin-top: 20px; }
  .products a { min-height: 61px; padding: 11px 0; }
  .products small { margin-top: 4px; }
  .visit { margin-top: 17px; padding: 13px 15px; }
  .location strong { font-size: 17px; margin: 6px 0; }
  .location .map-link { margin-top: 5px; }
  details { margin-top: 9px; }
  .instagram { min-height: 65px; padding: 13px 0; }
  footer p { margin: 13px 0 10px; }
}
@media (max-width:350px) {
  .content { padding-left: 18px; padding-right: 18px; }
}
@media (max-width:1023px) and (prefers-reduced-motion:reduce) {
  .hero .still-life { display: none; }
  .hero .logo { opacity: 1; filter: none; transform: none; }
}


/* Escala de leitura: informações úteis legíveis sem ampliar a página. */
body { font-size: 16px; }
.card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.content { min-width: 0; }
.cta, .products a, .instagram { font-size: 16px; line-height: 1.4; }
.cta > span:nth-child(2), .products a > span:nth-child(2), .instagram > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.cta > span:last-child, .arrow, .instagram > span:last-child, .instagram svg { flex-shrink: 0; }
.cta small, .products small, .instagram small { font-size: 14px; line-height: 1.45; }
.section-title h3 { font-size: 14px; line-height: 1.4; }
.section-title > span { font-size: 11px; flex-shrink: 0; }
.products a { min-height: 76px; }
.eyebrow, .location > .eyebrow { font-size: 11px; }
.location strong { font-size: 22px; line-height: 1.25; }
.location > span:not(.eyebrow), summary, dl, details p { font-size: 14px; line-height: 1.5; }
summary { min-height: 48px; gap: 12px; }
dl div { flex-wrap: wrap; column-gap: 16px; row-gap: 3px; }
dd { margin-left: auto; }
.instagram { min-height: 76px; }
footer { font-size: 12px; line-height: 1.6; }
footer p { font-size: 14px; }
footer b { margin: 0 5px; }
.intro { font-size: 14px; }
@media (max-width:1023px) {
  .card { grid-template-columns: minmax(0, 1fr); }
  .hero { position: relative; }
  .hero > .eyebrow { font-size: 10px; letter-spacing: 1px; text-align: center; }
  .topline { font-size: 9px; }
  .cta { min-height: 76px; padding: 14px 13px; }
  .cta, .products a, .instagram { font-size: 16px; }
  .products a { min-height: 76px; }
  .location strong { font-size: 21px; }
  .instagram { min-height: 78px; }
  .section-title { gap: 12px; }
}
@media (min-width:600px) and (max-width:1023px) {
  body { background: #e7e8df; }
  .card { max-width: 580px; margin: 24px auto; border-radius: 8px; }
  .content { padding: 24px 32px; }
}
@media (max-width:350px) {
  .products a { gap: 10px; }
  .hero > .eyebrow { font-size: 9px; }
  .section-title > span { display: none; }
  dl div { display: block; }
  dd { text-align: left; margin: 3px 0 0; }
}
summary span { display: grid; place-items: center; flex: 0 0 24px; height: 24px; margin-right: 5px; }

/* Warm location panel, closer to the page surface while retaining separation. */
.visit {
  background: #ede3d2;
  border-color: #d9ceba;
}

:root { --cream: rgb(243, 236, 223); --muted: #626b59; }
/* SVG arrows keep their monochrome shape on Apple devices. */
.direction-icon, .instagram .direction-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -.12em;
  flex-shrink: 0;
}

/* Make the opening hours an easy-to-find action inside the address card. */
.visit details {
  background: #e4eadb;
  border: 1px solid #c7d1bd;
  border-radius: 7px;
  margin: 12px 0 0;
  padding: 0 12px;
  transition: background .2s, border-color .2s;
}
.visit details:hover,
.visit details[open] {
  background: #dce6d4;
  border-color: #9eaf92;
}
.visit details summary {
  color: #364c3d;
  font-weight: 700;
  letter-spacing: .1px;
}
.visit details summary::before {
  content: '◷';
  color: #718463;
  font-size: 20px;
  line-height: 1;
  margin-right: 9px;
}
.visit details[open] summary { border-bottom: 1px solid #bdcbb3; }
.visit details dl,
.visit details p { padding-left: 2px; }

/* Desktop: fill the viewport while allowing the card to grow with its content. */
@media (min-width:1024px) {
  .card {
    min-height: calc(100vh - 48px);
    margin: 24px auto;
  }
  .hero { padding: 22px 34px; }
  .logo { width: 175px; height: 144px; margin: 20px 0 12px; }
  .hero > .eyebrow { font-size: 7px; }
  h1 { font-size: 34px; margin: 11px -10px; }
  .intro { font-size: 12px; line-height: 1.55; }
  .still-life { height: 220px; margin-top: 8px; }
  .candle { transform: translateX(-50%) scale(.86); transform-origin: center bottom; }
  .plinth { transform: translateX(-50%) scale(.86); transform-origin: center bottom; }
  .twig { transform: rotate(-29deg) scale(.86); transform-origin: center bottom; }
  .content { padding: 22px 30px 12px; }
  .welcome { height: 25px; }
  .welcome > span:last-child { font-size: 19px; }
  h2 { font-size: 30px; line-height: 1.08; margin: 12px 0 16px; }
  .cta { padding: 12px 14px; font-size: 14px; line-height: 1.35; }
  .cta small { font-size: 12px; margin-top: 2px; }
  .chat-icon { font-size: 23px; }
  .section-title { margin: 18px 0 4px; }
  .section-title h3 { font-size: 12px; }
  .products a { min-height: 64px; padding: 9px 0; font-size: 14px; }
  .products small { font-size: 11px; margin-top: 3px; }
  .product-icon { width: 30px; height: 32px; font-size: 22px; }
  .visit { margin-top: 14px; padding: 12px 14px; }
  .location > .eyebrow { font-size: 9px; }
  .location strong { font-size: 18px; margin: 6px 0; }
  .location > span:not(.eyebrow) { font-size: 12px; line-height: 1.45; }
  .location .map-link { margin-top: 5px; }
  details { margin-top: 9px; padding-top: 2px; }
  summary { min-height: 38px; font-size: 12px; }
summary span { flex-basis: 21px; height: 21px; font-size: 17px; }
  .instagram { min-height: 64px; padding: 12px 0 10px; font-size: 14px; }
  .instagram small { font-size: 12px; margin-top: 3px; }
  .instagram svg { width: 20px; height: 20px; }
  footer { font-size: 10px; }
  footer p { font-size: 12px; margin: 10px 0 6px; }
}

/* Inline product drawings stay monochrome on iPhone and iPad instead of becoming emoji. */
.product-icon .product-symbol {
  display: block;
  width: 20px;
  height: 20px;
  color: currentColor;
  flex: 0 0 auto;
}

/* Simplify the desktop still life so the candle remains the visual focus. */
.twig,
.plinth {
  display: none;
}

@media (min-width: 1024px) {
  .candle {
    transform: translateX(-50%) scale(.78);
  }
}
